使用 pyinstaller -F 打包exe文件的时候,发现生成exe的时候很慢很慢,大概10几分钟,而且打包好的文件居然有300M+。
同时发现运行起来很慢才出结果,直接用py文件运行的话,可能会快一分钟左右
百度了一下,说是Anaconda打包会打包一堆无关的模块。。。然后我试了一下不用 -F,之后发现运行挺快的(估计是打包成Full包的时候,运行时会解压,300M解压到900M用了那一分钟),但是打包好的文件夹有900M+。
这显然不是一个快乐的程序员想要的。
网上搜了下,有很多推荐用容器打包的,想了下,感觉太麻烦了。最后找到个用虚拟化环境打包的,试了下,效果挺不错。
很快就打包好了,使用 -F 后,exe大小只有6.6M左右,效果如下,还不错,嘿嘿~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面给出打包命令
1 #更新PIP版本 2 python.exe -m pip install --upgrade pip 3 4 #安装虚拟环境 5 pip install pipenv 6 7 #启用虚拟环境 8 pipenv install 9 10 #进入虚拟环境(据说上一步可省略) 11 pipenv shell 12 13 #安装模块,如果报错说明不用安装。经过测试,os sys csv string不用安装 14 pip install chardet openpyxl 15 pip install pyinstaller 16 17 #开始打包。xxx.py是你的py程序 18 pyinstaller -F xxx.py
参考文献:
https://www.zhihu.com/question/268397385
pyinstaller 各参数含义:
https://blog.csdn.net/weixin_39000819/article/details/80942423