项目用到了pytorch,需要打包成exe。
环境:Windows10
Python 3.7
torch 1.3.1
torchvision 0.2.2
打包工具:Pyinstaller
环境使用的Anaconda
pyinstaller loadmodel.py
简单的命令过后,运行exe文件,不出意外的话是肯定不能用的。可能有如下报错:
File "site-packages\torch\__init__.py", line 81, in <module>
ImportError: DLL load failed: 找不到指定的模块。
经过多次试验,使用Pytorch官方给的pip命令重装解决了这个问题。
https://pytorch.org/get-started/locally/
pip3 install torch===1.3.1 torchvision===0.4.2 -f https://download.pytorch.org/whl/torch_stable.html
这个时候简单的脚本已经能运行,但是用到了torchvision的脚本还是不行。产生“OSError: could not get source code”字样的报错。最后更换torchvision版本解决问题。
pip uninstall torchvision
pip install torchvision==0.2.2.post3
如果出现报错:cannot import name ‘PILLOW_VERSION’ from ‘PIL’,是因为pillow版本太高,已经取消了PILLOW_VERSION。换成低版本的pillow即可,要小于7。
新建一个虚拟环境安装Pyinstaller,只安装必要包。这样有助于减小体积。
版权声明:本文为tomato3351原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。