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 绋嫔簭镓揿寘鎴愬彲镓ц屾枃浠躲