如何将python文件打包成exe

众所周知,在众多的编程语言中,python作为最常用、最好学的语言之一,一直备受程序猿的青睐。那么,如何将写好的py.文件打包成为一个可以直接在客户电脑上运行的.exe可执行文件呢?

显而易见,我们是不能在客户的电脑上安装python的编译环境的,这是因为Python是一种脚本语言即需要在编译器上运行的语言,而在裸的windows、mac或linux环境中无法运行。因此,本文来介绍一种简洁的打包方法。尽管此种方法有诸多弊病,但谁让它够简单呢?


一、安装pyinsatller

打开命令行窗口,输入如下指令:

pip3 install pyinstaller

若环境变量已经设置好,则可静待pyinstaller安装完毕。

二、使用pyinstaller打包Python程序

①进入命令行窗口,然后使用cd指令进入程序文件夹。

②输入以下指令,开始打包

`pyinstaller -F -w (-i icofile) filename`

filename表示你的Python程序文件名

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

括号内的为可选参数,-i icofile表示给程序加上图标,图标必须为.ico格式。

icofile表示图标的位置,建议直接放在程序文件夹里面,这样子打包的时候直接写文件名就好。

输入完成,按回车,就会开始自动打包了,第一次打包过程可能比较缓慢。

然后我们进入到程序目录里面会再看到一个名称为dist目录,打包好的exe程序就在里面,其他的生成文件可以删除,不会影响使用。

注意:如果原本的程序中使用到了相应的资源,需要复制到该目录下,否则程序会无法运行。

三、调错

运行弹出错误提示框:failed to execute script

解决:
打包时加上 --hidden-import=queue
即Parameters配置修改为:
Parameters:--hidden-import=queue -w -F FileName
具体操作为:将 二 ②中的输入指令改为:

pyinstaller --hidden-import=pkg_resources -F main.py

即可正常打包。

  • 文章内容摘抄如下:

《PyInstaller打包实战指南》会带大家从头到尾了解如何顺手地来使用PyInstaller,从讲解PyInstaller的打包模式,打包命令以及打包技巧再到最后的打包实战,包括打包Selenium, PyQt5, Scrapy, PyGame, Flask以及Django(全部打包成一个文件)。打包过程中的一些常见且棘手的问题,笔者也会提供相应的解决方案。

参考文章:

①《如何将python打包成exe》2019-12-04 爱喝马黛茶的安东尼