pyinstaller打包python脚本和资源
程序员文章站
2022-03-30 22:57:34
...
1.安装pyinstaller
pip install pyinstaller
2.无图标资源打包:
pyinstaller -F pyPath/name.py
就可以看到生成了build和dist文件夹,dist文件夹中有你打包的exe,是单个文件(不带-F就是一群散文件)
有图标资源打包1:
pyi-makespec pyPath/name.py
它会生成name.spec,这时打开spec文件可以看到下面代码:
a = Analysis(['dmGUI.py'],
pathex=['C:\\Users\\82641\\Desktop\\digitalMedium3\\dmGUI\\dmGUI'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
然后在datas列表中添加(‘资源路径/资源名’,‘资源打包后相对exe的路径’)
例如:
再执行 pyinstaller .\name.spec
就可以在dist文件中看见资源文件:
有图标资源打包2:
按照无资源打包再把所需要的资源copy过去。
ps:其他命令查看pyinstaller -h
已知问题:numpy、scipy、matplotlib、scikit-learn这几个包来源不同时会出现“ImportError: DLL load failed:找不到指定的模块”,解决办法是pip uninstall modules,再去
http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib
http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn
下载对应的包并用pip install modules,在打包就没有问题了。
上一篇: 设计模式_策略模式