目录
前言
我们在pycharm上写的程序在发送到一台没有安装python解释器的机器上是不能运行的,甚至还要安装程序中所使用的第三方包,这样极其不方便。但是PC是可以直接运行.exe文件的,因此我们通过将程序打包成.exe进行执行,做到分享即可用。
PS: 如果打包为exe的话,版本尽量选择python3.6+32位版本,因为win64位系统向下兼容32位程序,但是如果不考虑32位系统的话无所谓,直接python64位版本直接打包就可以,只是只能在win64位系统上跑。
一、安装pyinstaller
首先安装pyinstaller,使用安装命令:pip install pyinstaller;使用清华大学镜像源加快速度:
pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple
结果如下:
我已经安装过了,所以会显示已经存在。
二、pyinstaller打包
2.1 pyinstaller打包机制
我们写的python脚本是不能脱离python解释器单独运行的,所以在打包的时候,至少会将python解释器和脚本一起打包,同样,为了打包的exe能正常运行,会把我们所有安装的第三方包一并打包到exe。
即使我们的项目只使用的一个requests包,但是可能我们还安装了其他n个包,但是他不管,因为包和包只有依赖关系的。比如我们只装了一个requests包,但是requests包会顺带装了一些其他依赖的小包,所以为了安全,只能将所有第三方包+python解释器一起打包。
2.2 单个文件打包
cmd进入py程序项目目录,执行命令:
pyinstaller -F -w -i xxx.ico main.py --noconsole
或者:
pyinstaller -F -w --icon=xxx.ico main.py --noconsole
ps: -F参数表示覆盖打包,这样在打包时,不管我们打包几次,都是最新的,固定命令。-w表示窗体程序,--icon是设置exe的显示图标,'main.py'是程序的入口(如果是单个文件就换成文件名,如:hello.py),--noconsole 表示