pyinstaller打包pytorch的一些问题
环境:win10+python3.6
- torchvision版本不能太高,降到0.2.0可用。
conda install torchvision==0.2.0
- 降低torchvision版本后有可能出现cannot import name ‘PILLOW_VERSION’,原因是高版本的pillow包移除了这个参数。经过尝试将pillow降到6.2.2可行。
conda install pillow==6.2.2
- 出现 No module named 'pkg_resources.py2_warn’
以记事本格式打开xx.spec(在你需要打包的代码同目录下),找到hiddenimports=[],将 ‘pkg_resources.py2_warn’ 添加到方括号中,注意带上单引号。之后用执行pyinstaller xx.spec生成新的可执行文件。
datas=[],
hiddenimports=['pkg_resources.py2_warn'],
hookspath=[],
pyinstaller xx.spec
- 由于我使用了joblib.load()读取了模型,出现No module named 'sklearn’以及No module named ‘sklearn.utils._cython_blas’,但是明明有sklearn包。
解决办法同3。在hiddenimports中添加这两个提示。
datas=[],
hiddenimports=['pkg_resources.py2_warn','sklearn', 'sklearn.utils._cython_blas'],
hookspath=[],