pyinstaller 打包命令总结:
pyinstaller -option xxx.py
options的详情可参考官方帮助文档https://pyinstaller.readthedocs.io/en/stable/usage.html
pyinstall **.py 直接打包
pyinstall -F **.py 打包成单文件
pyinstall -W **.py 去掉控制台窗口,黑窗口
pyinstall -i ***.ico **.py 添加图标 ***
pyinstaller --clean --win-private-assemblies -F XXXX.py
--clean清除pyinstaller的缓存并移除之前建立的临时文件,
--win-私人组件把跟这个程序捆绑的共享的组件都改为私有的
调试阶段不用-w,因为如果有错误就打印在终端了而不是闪退
命令行模式:
--hidden-import Modulename 可以多次使用
例:--hidden-import docx --hidden-import Pillow
修改spec模式:
hiddenimports=['docx'],
例:hiddenimports=['docx', 'Pillow'],
命令行模式:
--add-data file 可以多次使用,注意格式为引号里面有一个文件名,有一个分号,一个点。
例: --add-data "default.docx;."
修改spec模式:
datas=[('default.docx', '.')],
参见pyinstaller官方文档中的描述
使用多线程模块multiprocessing时,必须在程序入口加入代码
if __name__ == '__main__':
# Pyinstaller fix
multiprocessing.freeze_support()
# 以下写主要代码
main()
multiprocessing.freeze_support()