pyinstaller
- 网上很多人说 pyinstaller 打包慢啊,文件大啊,这那这那的;
- 可能是我还没理解别的工具的妙用;
- 我发现 pyinstaller 稳定可靠;没有乱八七糟的依赖问题;本地化问题;
pip install pyinstaller
pip freeze > requirements.txt
pyinstaller -F P:\workspace\pycharm_u\uia\demo\file_qrcode.py
pyinstaller -F P:\workspace\pycharm_u\uia\demo\file_qrcode.py --hidden-import PIL
pip install auto-py-to-exe
file_qrcode.exe "P:/workspace/pycharm_u/uia/res/pack.zip" "P:/workspace/qr_code_dir/"
file_qrcode.exe "P:/workspace/pycharm_u/uia/dist/pack.zip" "P:/workspace/qr_code_dir/"
file_qrcode.exe "D:/workspace/pycharm_c/tensorflow_demo/doc/pack.zip" "D:/workspace/pycharm_c/tensorflow_demo/doc/"
另外一个打包工具Nuitka
- 常见工具: pyinstaller, py2exe
- 安装:
pip install Nuitka
常见命令选项
nuitka --standalone --show-memory --show-progress --nofollow-imports --plugin-enable=qt-plugins --follow-import-to=utils,src --output-dir=out --windows-icon-from-ico=./logo.ico demo.py
--standalone
:方便移植到其他机器,不用再安装python--show-memory --show-progress
:展示整个安装的进度过程--nofollow-imports
:不编译代码中所有的import,比如keras,numpy之类的。--plugin-enable=qt-plugins
:我这里用到pyqt5来做界面的,这里nuitka有其对应的插件。--follow-import-to=utils,src
:需要编译成C++代码的指定的2个包含源码的文件夹,这里用,来进行分隔。--output-dir=out
:指定输出的结果路径为out。--windows-icon-from-ico=./logo.ico
:指定生成的exe的图标为logo.ico这个图标,这里推荐一个将图片转成ico格式文件的网站(比特虫)。--windows-disable-console
:运行exe取消弹框。这里没有放上去是因为我们还需要调试,可能哪里还有问题之类的。