python編譯後部署
將python代碼編譯成exe文件的方法:
1、先在電腦上安裝pyinstaller。
2、然後到指定目錄下使用pyinstaller來將py文件編譯成exe即可。
B. 編譯安裝python需要哪些依賴
依賴庫:
//使用apt 安裝即可
1.gcc, make, zlib1g-dev(壓縮/解壓縮庫)
安裝過程需要的庫。
2.libbz2-dev
bz2支持庫,若在編譯安裝python前沒有安裝,將無法通過pip install 安裝提供bz2格式的第三方庫,會出現unsupported archive format: .tar.bz2的錯誤,例如爬蟲庫Scrapy依賴的Twisted。
3.libsqlite3-dev
sqlite3支持庫,若在編譯安裝python前沒有安裝,則python中會缺失sqlite3模塊,當引入sqlite3或使用依賴sqllite3的第三方庫(例如Scrapy)時,會出現ImportError: No mol named _sqllite3的錯誤。
//以上為編譯安裝前需要安裝的庫,可能不夠全面,會不斷補充。
4.其他:安裝第三方庫需要的庫
python3-dev, libxml2-dev, libxslt1, libffi-dev, libssl-dev等,在安裝第三方庫會有具體說明,不做過多解釋。
安裝:
//通過wget獲取壓縮包,這里選擇3.6.1版
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
//解壓
tar xJf Python-3.6.1.tar.xz
cd Python-3.6.1
./configure
make
/*這步如果需要sudo,請使用sudo -H命令,即sudo -H make install,避免pip等模塊安裝失敗。
錯誤示例(pip安裝失敗):The directory '/home/ls/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
*/
make install
C. 鎵撳寘Python浠g爜鐨勫父鐢ㄦ柟娉曪紝璁╀綘鐨勭▼搴忓彉鎴恊xe搴旂敤錛
鍦ㄧ紪紼嬬殑涓栫晫閲岋紝Python浠ュ叾寮哄ぇ鐨勫姛鑳芥繁鍙楀紑鍙戣呭枩鐖便傜劧鑰岋紝鍒嗕韓Python浠g爜鏃訛紝浠栦漢鍙鑳介渶瑕佸畨瑁匬ython瑙i噴鍣ㄦ墠鑳借繍琛岋紝榪欐棤鐤戝炲姞浜嗙敤鎴烽棬妲涖傝繖鏃訛紝灝哖ython浠g爜鎵撳寘鎴愭槗浜庝嬌鐢ㄧ殑.exe搴旂敤錛屾棤鐤戣╁垎浜鍜岄儴緗插彉寰楃畝鍗曘傛湰鏂囧皢娣卞叆鎺㈣ㄥ嚑縐嶅父鐢ㄧ殑Python浠g爜鎵撳寘鎶鏈錛岃╀綘鐨勭▼搴忚交鏉懼寲韜涓虹嫭絝嬬殑鎵ц屾枃浠躲
涓轟粈涔堟墦鍖匬ython浠g爜錛
鎵撳寘Python浠g爜鎴愬彲鎵ц屾枃浠訛紝鍏朵紭鍔誇笉璦鑰屽柣錛
- 渚挎惡鎬: 鍙鎵ц屾枃浠舵棤闇渚濊禆Python鐜澧冿紝鍙鍦ㄤ換浣曟湭瀹夎匬ython鐨勭郴緇熶笂榪愯岋紝鏋佸ぇ鎻愬崌浜嗗簲鐢ㄧ殑閫氱敤鎬с
- 浠g爜淇濇姢: 鍙鎵ц屾枃浠墮氬父闅句互鍙嶇紪璇戱紝鑳芥湁鏁堜繚鎶ゆ簮浠g爜錛岀『淇濈煡璇嗕駭鏉冨畨鍏ㄣ
- 鐢ㄦ埛浣撻獙鎻愬崌: 鐢ㄦ埛鏃犻渶鎵嬪姩瀹夎匬ython錛屽彧闇鍙屽嚮鍗沖彲鍚鍔錛岀畝鍖栦簡浣跨敤嫻佺▼銆
鍑犵嶆墦鍖呭伐鍏峰ぇ鎻縐
涓嬮潰鎴戜滑灝嗛愪竴浠嬬粛鍑犵嶄富嫻佺殑Python浠g爜鎵撳寘宸ュ叿錛
- PyInstaller: 浣滀負鏈鍙楁㈣繋鐨勫伐鍏蜂箣涓錛屽畠鏀鎸乄indows銆乵acOS鍜孡inux騫沖彴錛屽畨瑁呯畝鍗曪紝鍙闇鍦ㄧ粓絝涓杈撳叆pip install pyinstaller銆備嬌鐢ㄦ椂錛屽彧闇灝嗚剼鏈琺y_script.py鏀懼叆鍛戒護琛岋紝濡 pyinstaller my_script.py錛屽畠浼氳嚜鍔ㄥ勭悊渚濊禆騫剁敓鎴恉ist鐩褰曚笅鐨勫彲鎵ц屾枃浠躲
- cx_Freeze: 鍙︿竴涓璺ㄥ鉤鍙扮殑瑙e喅鏂規堬紝閫氳繃pip install cx_Freeze瀹夎呫傚壋寤簊etup.py閰嶇疆鏂囦歡鍚庯紝濡 cxfreeze setup.py build錛屽嵆鍙鐢熸垚鍙鎵ц屾枃浠躲
- py2exe: 涓撲負Windows璁捐★紝pip install py2exe鍗沖彲瀹夎呫傞厤緗畇etup.py鏂囦歡鍚庯紝閫氳繃 python setup.py py2exe 鐢熸垚鍙鎵ц屾枃浠躲
- py2app: 涓撲負macOS鎵撻狅紝pip install py2app鍚庯紝閫氳繃 python setup.py py2app 鐢熸垚.dmg鏂囦歡錛屽寘鍚鍙鎵ц岀▼搴忋
- Nuitka: 鐢ㄤ簬灝哖ython鑴氭湰緙栬瘧涓哄彲鎵ц屾枃浠訛紝pip install nuitka鍚庯紝浣跨敤 nuitka --standalone my_script.py 榪涜岀紪璇戱紝鐢熸垚my_script.dist鐩褰曚腑鐨勫彲鎵ц屾枃浠躲
閫夋嫨鍚堥傜殑宸ュ叿
姣忕嶅伐鍏烽兘鏈夊叾閫傜敤鍦烘櫙錛歅yInstaller鍜宑x_Freeze閫傚悎澶氬鉤鍙伴儴緗詫紝py2exe瀵筗indows鐢ㄦ埛鍙嬪ソ錛宲y2app鍒欎笓涓簃acOS璁捐°傚傛灉浣犺拷奼傛洿楂樼殑鎬ц兘鍜屽彲縐繪嶆э紝Nuitka鐨勭紪璇戞妧鏈鏄涓涓嶉敊鐨勯夋嫨銆傛牴鎹浣犵殑鐩鏍囧鉤鍙板拰闇奼傦紝閫夋嫨鍚堥傜殑宸ュ叿錛岃㏄ython紼嬪簭鏃犻渶Python鐜澧冨氨鑳藉崕涓借漿韜涓虹嫭絝嬪簲鐢ㄣ
鎬葷粨
灝哖ython浠g爜鎵撳寘鎴愬彲鎵ц屾枃浠訛紝鏃犵枒涓哄簲鐢ㄧ▼搴忕殑鍒嗕韓鍜岄儴緗插甫鏉ヤ簡闈╁懡鎬х殑鍙橀潻銆傞氳繃PyInstaller銆乧x_Freeze銆乸y2exe銆乸y2app鍜孨uitka錛屼綘鍙浠ヨ交鏉懼皢Python鑴氭湰杞鍖栦負鐢ㄦ埛鍙嬪ソ鐨別xe搴旂敤錛屾棤璁轟綘鏄涓轟簡鍒嗕韓錛岃繕鏄鏋勫緩鐙絝嬪伐鍏鳳紝榪欎簺宸ュ叿閮借兘璁╄繃紼嬪彉寰楃畝鍗曟槗琛屻傞夋嫨涓涓宸ュ叿錛岃㏄ython鐨勫姏閲忚Е鎵嬪彲鍙婏紒
D. Python3.5如何打包編譯
python3.5怎麼打包編譯
問題:用Python開發的小工具有時需要編譯打包為Windows(*.exe)、Mac等操作系統下的可執行性文件以供非程序員使用。
解決方案:
一、py2exe
目前只支持到Python3.4,暫不支持Python3.5
相關推薦:《Python視頻教程》
二、PyInstaller
安裝:
直接安裝:
pip install pyinstaller
下載源碼包,然後進入包目錄,用命令安裝
python setup.py install
使用:
進入cmd窗口
進入需要打包的程序目錄
輸入:pyinstaller + 需要打包的程序(*.py)名稱
發布命令:
-w指令
直接發布的exe應用帶命令行調試窗口,在指令內加入-w命令可以屏蔽
-F指令
注意指令區分大小寫。這里是大寫。使用-F指令可以把應用打包成一個獨立的exe文件,否則是一個帶各種dll和依賴文件的文件夾
Error:failed to create process
編譯時,出現「failed to create process」錯誤。
解決方法是打開pyinstaller-script.py,把第一行的路徑用引號括起來,最終是下面這個樣子就對了
#!"c:program filespython35-32python.exe"
E. Python緙栧啓鐨勭▼搴忛渶瑕佺紪璇戦檲鍙鎵ц屾枃浠跺悗鎵嶈兘榪愯屽悧錛
鍦ㄥぇ澶氭暟鎯呭喌涓嬶紝Python 紼嬪簭涓嶉渶瑕佽緙栬瘧鎴愬彲鎵ц屾枃浠跺氨鍙浠ョ洿鎺ヨ繍琛屻侾ython 鏄涓縐嶈В閲婂瀷璇璦錛屽畠浣跨敤瑙i噴鍣ㄩ愯岃В閲婂苟鎵ц屼唬鐮併
褰撲綘緙栧啓濂 Python 紼嬪簭鍚庯紝鍙浠ョ洿鎺ヨ繍琛屾簮浠g爜鏂囦歡錛堜互 .py 涓烘墿灞曞悕錛夋潵鎵ц岀▼搴忋備綘鍙闇閫氳繃鍛戒護琛屾垨闆嗘垚寮鍙戠幆澧冿紙IDE錛夌瓑宸ュ叿鏉ヨ繍琛 Python 鑴氭湰銆
渚嬪傦紝鍦ㄥ懡浠よ屼腑錛屽彲浠ヤ嬌鐢ㄤ互涓嬪懡浠ゆ潵榪愯 Python 紼嬪簭錛
python script.py
鍏朵腑 script.py 鏄浣犵殑 Python 婧愪唬鐮佹枃浠躲
鐒惰岋紝濡傛灉浣犲笇鏈涘皢 Python 紼嬪簭鎵撳寘鎴愪竴涓鐙絝嬬殑鍙鎵ц屾枃浠訛紝浠ヤ究鍦ㄦ病鏈夊畨瑁 Python 瑙i噴鍣ㄧ殑鐜澧冧腑榪愯岋紝浣犲彲浠ヤ嬌鐢ㄤ竴浜涚涓夋柟宸ュ叿鏉ュ皢 Python 紼嬪簭緙栬瘧鎴愬彲鎵ц屾枃浠躲
甯歌佺殑宸ュ叿鍖呮嫭 PyInstaller銆乧x_Freeze銆乸y2exe 絳夈傝繖浜涘伐鍏峰彲浠ュ皢 Python 紼嬪簭鍙婂叾渚濊禆欏規墦鍖呬負涓涓鐙絝嬬殑鍙鎵ц屾枃浠訛紝浠ヤ究鍦ㄥ叾浠栬$畻鏈轟笂榪愯岋紝鑰屾棤闇瀹夎 Python 瑙i噴鍣ㄣ傝繖鏍峰彲浠ユ洿鏂逛究鍦板垎浜鍜屽垎鍙戜綘鐨 Python 搴旂敤紼嬪簭銆
鎬葷粨璧鋒潵錛屼竴鑸鎯呭喌涓嬶紝Python 紼嬪簭涓嶉渶瑕佽緙栬瘧鎴愬彲鎵ц屾枃浠跺嵆鍙榪愯屻備絾濡傛灉闇瑕佸湪娌℃湁瀹夎 Python 鐨勭幆澧冧腑榪愯岋紝鍙浠ヨ冭檻浣跨敤絎涓夋柟宸ュ叿灝 Python 紼嬪簭鎵撳寘鎴愬彲鎵ц屾枃浠躲