当前位置:首页 » 编程软件 » python程序能不能编译成exe

python程序能不能编译成exe

发布时间: 2024-06-24 02:53:20

‘壹’ python如何编译成exe文件

python如何编译成exe文件?具体步骤如下:

python学习网,大量的免费python视频教程,欢迎在线学习!

1、使用pycharm安装pyinstaller。

2、找到pyinstaller的安装目录。

C:-script.py

相关推荐:《Python教程》

注意在该目录的母目录下一般有我们的程序文件

C:

3、将我们要打包的程序至pyinstaller的安装目录下:

C:venvScripts

4、打开cmd,找到该路径 cd C:venvScripts,输入命令pyinstaller -F *.py

如下图显示,打包成功。

5、此时在Scripts的目录下能够看到已经生成的dist目录和*.spec文件。运行*.exe文件即可。

6、也可以使用命令pyinstaller -F *.py,该命令会将所有的依赖放到一个文件夹中。相当于-F的解压

‘贰’ python可以编译成exe程序吗

PyInstaller的原理简介

PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指

望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的

库。在linux操作系统下,它主要用的binutil工具包里面的ldd和objmp命令。

PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析

器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。

可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他

包,或某个版本的Python,就可以直接运行了。

需要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运

行,就必须针对该平台进行打包。

pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行

最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。

可运行在Windows,Mac和Linux操作系统下。

但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下。

pyinstaller在windows下的安装

使用命令pip install pyinstaller即可

在windows下,pyinstaller需要PyWin32的支持。当用pip安装pyinstaller时未找到PyWin32,会自动安装pypiwin32。

打包

打包的app里并不包含任何源码,但将脚本的.pyc文件打包了。

基本语法:

pyinstaller options myscript.py

常用的可选参数如下:

--onefile 将结果打包成一个可执行文件

--onedir 将所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件(默认)

--paths=DIR 设置导入路径

--distpath=DIR 设置将打包的结果文件放置的路径

--specpath=DIR 设置将spec文件放置的路径

--windowed 使用windows子系统执行,不会打开命令行(只对windows有效)

--nowindowed 使用控制台子系统执行(默认)(只对windows有效)

--icon=<FILE.ICO> 将file.ico添加为可执行文件的资源(只对windows有效

推荐学习《python教程》。

‘叁’ python怎么转成exe文件

python提供pyinstaller库将代码打包成exe可执行文件,步骤如下:

1.安装pyinstaller

安装的方式如同安装导入其他包一样,使用pip,执行命令:

pip3 install pyinstaller

自动下载并安装。

2.打包并转换成exe

打开终端,进入到需要转换的python文件路径下,执行命令:

pyinstaller -F -w (-i icofile) filename

参数说明:

filename:Python文件名

-w :表示隐藏程序运行时的命令行窗口(不加-w会有黑色窗口)

-i icofile:可选参数(可不要),表示给程序加上图标,图标必须为.ico格式。icofile表示图标所在路径,建议直接放在python同一路径下,这样子打包的时候直接写文件名就好。

3.打包成功

命令执行成功后,会生成N个文件夹,所需要的exe文件就在dist文件夹里。

至此,在windows下将python文件转成exe就这样搞定了。

推荐课程:Python高级进阶视频教程

‘肆’ 镓揿寘Python浠g爜镄勫父鐢ㄦ柟娉曪纴璁╀綘镄勭▼搴忓彉鎴恊xe搴旂敤锛

鍦ㄧ紪绋嬬殑涓栫晫閲岋纴Python浠ュ叾寮哄ぇ镄勫姛鑳芥繁鍙楀紑鍙戣呭枩鐖便傜劧钥岋纴鍒嗕韩Python浠g爜镞讹纴浠栦汉鍙鑳介渶瑕佸畨瑁匬ython瑙i喷鍣ㄦ墠鑳借繍琛岋纴杩欐棤鐤戝炲姞浜嗙敤鎴烽棬妲涖傝繖镞讹纴灏哖ython浠g爜镓揿寘鎴愭槗浜庝娇鐢ㄧ殑.exe搴旂敤锛屾棤鐤戣╁垎浜鍜岄儴缃插彉寰楃亩鍗曘傛湰鏂囧皢娣卞叆鎺㈣ㄥ嚑绉嶅父鐢ㄧ殑Python浠g爜镓揿寘鎶链锛岃╀綘镄勭▼搴忚交𨱒惧寲韬涓虹嫭绔嬬殑镓ц屾枃浠躲


涓轰粈涔堟墦鍖匬ython浠g爜锛

镓揿寘Python浠g爜鎴愬彲镓ц屾枃浠讹纴鍏朵紭锷夸笉瑷钥屽柣锛



  • 渚挎恶镐: 鍙镓ц屾枃浠舵棤闇渚濊禆Python鐜澧冿纴鍙鍦ㄤ换浣曟湭瀹夎匬ython镄勭郴缁熶笂杩愯岋纴鏋佸ぇ鎻愬崌浜嗗簲鐢ㄧ殑阃氱敤镐с

  • 浠g爜淇濇姢: 鍙镓ц屾枃浠堕氩父闅句互鍙岖紪璇戯纴鑳芥湁鏁堜缭鎶ゆ簮浠g爜锛岀‘淇濈煡璇嗕骇𨱒冨畨鍏ㄣ

  • 鐢ㄦ埛浣挞獙鎻愬崌: 鐢ㄦ埛镞犻渶镓嫔姩瀹夎匬ython锛屽彧闇鍙屽嚮鍗冲彲钖锷锛岀亩鍖栦简浣跨敤娴佺▼銆


鍑犵嶆墦鍖呭伐鍏峰ぇ鎻绉

涓嬮溃鎴戜滑灏嗛愪竴浠嬬粛鍑犵崭富娴佺殑Python浠g爜镓揿寘宸ュ叿锛



  1. PyInstaller: 浣滀负链鍙楁㈣繋镄勫伐鍏蜂箣涓锛屽畠鏀鎸乄indows銆乵acOS鍜孡inux骞冲彴锛屽畨瑁呯亩鍗曪纴鍙闇鍦ㄧ粓绔涓杈揿叆pip install pyinstaller銆备娇鐢ㄦ椂锛屽彧闇灏呜剼链珐y_script.py鏀惧叆锻戒护琛岋纴濡 pyinstaller my_script.py锛屽畠浼氲嚜锷ㄥ勭悊渚濊禆骞剁敓鎴恉ist鐩褰曚笅镄勫彲镓ц屾枃浠躲

  2. cx_Freeze: 鍙︿竴涓璺ㄥ钩鍙扮殑瑙e喅鏂规堬纴阃氲繃pip install cx_Freeze瀹夎呫傚垱寤簊etup.py閰岖疆鏂囦欢钖庯纴濡 cxfreeze setup.py build锛屽嵆鍙鐢熸垚鍙镓ц屾枃浠躲

  3. py2exe: 涓扑负Windows璁捐★纴pip install py2exe鍗冲彲瀹夎呫傞厤缃畇etup.py鏂囦欢钖庯纴阃氲繃 python setup.py py2exe 鐢熸垚鍙镓ц屾枃浠躲

  4. py2app: 涓扑负macOS镓挞狅纴pip install py2app钖庯纴阃氲繃 python setup.py py2app 鐢熸垚.dmg鏂囦欢锛屽寘钖鍙镓ц岀▼搴忋

  5. 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镄勫姏閲忚Е镓嫔彲鍙婏紒

‘伍’ 怎么把python打包成exe

PyInstaller 是一个用来将 Python 程序打包成一个独立可执行软件包,支持 Windows、Linux 和 Mac OS X。
下载
https://github.com/pyinstaller/pyinstaller/

2. 使用

python制作exe可执行文件的方法---使用pyinstaller

python生成windows下exe格式的可执行程序有三种可选方案: py2exe是大家所熟知的,今天要介绍pyinstaller, 这个工具全平台可用。我曾使用python制作一个工具程序供公司同事使用后,由于公司使用mac linux windows都有很多,就使用过它来将程序做成可执行文件,兼容性好,只是会使得程序在linux平台和mac平台启动较慢(windows还是比较快的),但基本够用。

安装完pyinstaller之后就可以开始了。

1.使用pyinstaller生成可执行文件的方法
1.1 将依赖文件集中到一个文件夹:
pyinstaller -D -w main.py #把main.py替换成你的主入口python文件即可。
-w参数代表main.py是一个窗体程序。
1.2 将所有依赖文件都打包到同一个可执行文件中:
pyinstaller -F -w main.py

2.调查pyinstaller生成程序的加载过程
使用如下命令,可以得到运行时的跟踪,tracing ,loader 的加载过程。
pyinstaller -Fwd aui.py #把aui.py 换成你需要侦测的文件即可。

‘陆’ 镐庢牱灏唒ython鐢熸垚exe

Python鏄涓涓鑴氭湰璇瑷锛岃瑙i喷鍣ㄨВ閲婃墽琛屻傚畠镄勫彂甯冩柟寮忥细

.py鏂囦欢锛氩逛簬寮婧愰”鐩鎴栬呮簮镰佹病闾d箞閲嶈佺殑锛岀洿鎺ユ彁渚涙簮镰侊纴闇瑕佷娇鐢ㄨ呰嚜琛屽畨瑁匬ython骞朵笖瀹夎呬緷璧栫殑钖勭嶅簱銆傦纸Python瀹樻柟镄勫悇绉嶅畨瑁呭寘灏辨槸杩欐牱锅氱殑锛

.pyc鏂囦欢锛氭湁浜涘叕鍙告垨涓浜哄洜涓烘満瀵嗘垨钥呭悇绉嶅师锲狅纴涓嶆効镒忔簮镰佽杩愯岃呯湅鍒帮纴鍙浠ヤ娇鐢╬yc鏂囦欢鍙戝竷锛宲yc鏂囦欢鏄疨ython瑙i喷鍣ㄥ彲浠ヨ瘑鍒镄勪簩杩涘埗镰侊纴鏁呭彂甯冨悗涔熸槸璺ㄥ钩鍙扮殑锛岄渶瑕佷娇鐢ㄨ呭畨瑁呯浉搴旂増链镄凯ython鍜屼緷璧栧簱銆

鍙镓ц屾枃浠讹细瀵逛簬闱炵爜鍐灭敤鎴锋垨钥呬竴浜涘皬锏界敤鎴凤纴浣犺╀粬瑁呬釜Python钖屾椂杩樿佹姌鑵句竴鍫嗕緷璧栧簱锛岄偅绠鐩存槸涓𨱔鹃毦銆傚逛簬姝ょ被鐢ㄦ埛锛屾渶绠鍗旷殑鏂瑰纺灏辨槸鎻愪緵涓涓鍙镓ц屾枃浠讹纴鍙闇瑕佹妸鐢ㄦ硶锻婅瘔Ta鍗冲彲銆傛瘆杈冮夯鐑︾殑鏄闇瑕侀拡瀵逛笉钖屽钩鍙伴渶瑕佹墦鍖呬笉钖岀殑鍙镓ц屾枃浠讹纸Windows,Linux,Mac,...锛夈

链鏂囦富瑕佸氨鏄浠嬬粛链钖庝竴绉嶆柟寮忥纴.py鍜.pyc閮芥瘆杈幂亩鍗曪纴Python链韬灏卞彲浠ユ闷瀹氥傚皢Python鑴氭湰镓揿寘鎴愬彲镓ц屾枃浠舵湁澶氱嶆柟寮忥纴链鏂囬吨镣逛粙缁峆yInstaller锛

PyInstaller镄勫师鐞嗙亩浠

PyInstaller鍏跺疄灏辨槸鎶妏ython瑙f瀽鍣ㄥ拰浣犺嚜宸辩殑鑴氭湰镓揿寘鎴愪竴涓鍙镓ц岀殑鏂囦欢锛屽拰缂栬疟鎴愮湡姝g殑链哄櫒镰佸畬鍏ㄦ槸涓ゅ洖浜嬶纴镓浠ュ崈涓囦笉瑕佹寚链涙垚镓揿寘鎴愪竴涓鍙镓ц屾枃浠朵细鎻愰珮杩愯屾晥鐜囷纴鐩稿弽鍙鑳戒细闄崭绠杩愯屾晥鐜囷纴濂藉勫氨鏄鍦ㄨ繍琛岃呯殑链哄櫒涓娄笉鐢ㄥ畨瑁卲ython鍜屼綘镄勮剼链渚濊禆镄勫簱銆傚湪Linux镎崭綔绯荤粺涓嬶纴瀹冧富瑕佺敤镄刡inutil宸ュ叿鍖呴噷闱㈢殑ldd鍜宱bjmp锻戒护銆

PyInstaller杈揿叆浣犳寚瀹氱殑镄勮剼链锛岄栧厛鍒嗘瀽鑴氭湰镓渚濊禆镄勫叾浠栬剼链锛岀劧钖庡幓镆ユ垒锛屽嶅埗锛屾妸镓链夌浉鍏崇殑鑴氭湰鏀堕泦璧锋潵锛屽寘𨰾琍ython瑙f瀽鍣锛岀劧钖庢妸杩欎簺鏂囦欢鏀惧湪涓涓鐩褰曚笅锛屾垨钥呮墦鍖呰繘涓涓鍙镓ц屾枃浠堕噷闱銆

鍙浠ョ洿鎺ュ彂甯冭緭鍑虹殑鏁翠釜鏂囦欢澶归噷闱㈢殑鏂囦欢锛屾垨钥呯敓鎴愮殑鍙镓ц屾枃浠躲备綘鍙闇瑕佸憡璇夌敤鎴凤纴浣犵殑搴旂敤App鏄镊鎴戝寘钖镄勶纴涓嶉渶瑕佸畨瑁呭叾浠栧寘锛屾垨镆愪釜鐗堟湰镄凯ython锛屽氨鍙浠ョ洿鎺ヨ繍琛屼简銆

闇瑕佹敞镒忕殑鏄锛孭yInstaller镓揿寘镄勬墽琛屾枃浠讹纴鍙鑳藉湪鍜屾墦鍖呮満鍣ㄧ郴缁熷悓镙风殑鐜澧冧笅銆备篃灏辨槸璇达纴涓嶅叿澶囧彲绉绘嶆э纴鑻ラ渶瑕佸湪涓嶅悓绯荤粺涓婅繍琛岋纴灏卞繀椤婚拡瀵硅ュ钩鍙拌繘琛屾墦鍖呫

pyinstaller灏哖ython鑴氭湰镓揿寘鎴愬彲镓ц岀▼搴忥纴浣垮湪娌℃湁Python鐜澧幂殑链哄櫒涓婅繍琛

链鏂扮増鏄痯yinstaller 3.1.1銆傛敮鎸乸ython2.7鍜宲ython3.3+銆

鍙杩愯屽湪Windows锛孧ac鍜孡inux镎崭綔绯荤粺涓嬨

浣嗗畠涓嶆槸璺ㄧ紪璇戠殑锛屼篃灏辨槸璇村湪Windows涓嬬敤PyInstaller鐢熸垚镄别xe鍙鑳借繍琛屽湪Windows涓嬶纴鍦↙inux涓嬬敓鎴愮殑鍙鑳借繍琛屽湪Linux涓嬨

pyinstaller鍦╳indows涓嬬殑瀹夎

浣跨敤锻戒护pip install pyinstaller鍗冲彲

鍦╳indows涓嬶纴pyinstaller闇瑕丳yWin32镄勬敮鎸併傚綋鐢╬ip瀹夎卲yinstaller镞舵湭镓惧埌PyWin32锛屼细镊锷ㄥ畨瑁卲ypiwin32銆

镓揿寘

镓揿寘镄刟pp閲屽苟涓嶅寘钖浠讳綍婧愮爜锛屼絾灏呜剼链镄.pyc鏂囦欢镓揿寘浜嗐

锘烘湰璇娉曪细

pyinstaller options myscript.py

甯哥敤镄勫彲阃夊弬鏁板备笅锛

--onefile 灏嗙粨鏋沧墦鍖呮垚涓涓鍙镓ц屾枃浠

--onedir 灏嗘墍链夌粨鏋沧墦鍖呭埌涓涓鏂囦欢澶逛腑锛岃ユ枃浠跺す鍖呮嫭涓涓鍙镓ц屾枃浠跺拰鍙镓ц屾枃浠舵墽琛屾椂闇瑕佺殑渚濊禆鏂囦欢锛堥粯璁わ级

--paths=DIR 璁剧疆瀵煎叆璺寰

--distpath=DIR 璁剧疆灏嗘墦鍖呯殑缁撴灉鏂囦欢鏀剧疆镄勮矾寰

--specpath=DIR 璁剧疆灏唖pec鏂囦欢鏀剧疆镄勮矾寰

--windowed 浣跨敤windows瀛愮郴缁熸墽琛岋纴涓崭细镓揿紑锻戒护琛岋纸鍙瀵箇indows链夋晥锛

--nowindowed 浣跨敤鎺у埗鍙板瓙绯荤粺镓ц岋纸榛樿わ级锛埚彧瀵箇indows链夋晥锛

--icon=<FILE.ICO> 灏唂ile.ico娣诲姞涓哄彲镓ц屾枃浠剁殑璧勬簮(鍙瀵箇indows链夋晥锛

热点内容
linuxnginx与php 发布:2024-11-07 22:33:32 浏览:78
android语音sdk 发布:2024-11-07 22:26:58 浏览:613
uuidjava生成 发布:2024-11-07 22:22:31 浏览:7
装修家中需要配置哪些东西 发布:2024-11-07 22:21:11 浏览:82
什么安卓的平板电脑最好用 发布:2024-11-07 22:21:05 浏览:552
linux最大内存 发布:2024-11-07 22:11:28 浏览:626
谁编程的楚辞 发布:2024-11-07 22:06:22 浏览:334
安卓暴力摩托叫什么 发布:2024-11-07 22:05:03 浏览:343
c语言维基 发布:2024-11-07 21:59:49 浏览:787
记录数据到缓存区 发布:2024-11-07 21:58:19 浏览:330