打包利用pytorch和cv2进行人眼识别以及图像分类的py文件出现了以下问题,做个记录:
在打包过程中出现了NO model的情况,跳过了打包,虽然成功生成了exe文件,但是却闪退,在使用主程序加上input(‘any key to exit’)后
仍然不能解决闪退。仔细检查了下打包过程,发现了相关略去的函数库,安装:
pip install pypiwin32
pip install tornado
pip install cairocffi
pip install PyQt5
pip install IPython
pip install wxPython
pip install ipykernel
pip install zmq
pip install pycairo 会报错
pycaior是在
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycairo
相应版本下载安装
pip install pycairo-1.19.1-cp36-cp36m-win_amd64.whl
缺少了这些包使得我的pyinstaller打包过程出现了偏差,安装之后
关于pkg_resources.py2_warn的闪退问题,numpy.core.multiarray导包失败
在xxx.py的生成的xxx.spec文件中,在hiddenimport列表中添加缺失的函数包,
详细操作请借鉴博客 https://blog.csdn.net/slc1112/article/details/104234076
关于libzmq,借鉴https://blog.csdn.net/metallicqi/article/details/50631421
安装libzmq的过程中需要对vs2015(其他版本也行)进行安装,并且使用其编译github的libzmq源码
VS2015安装教程(带图解+下载地址+超详细):https://blog.csdn.net/guxiaonuan/article/details/73775519
windows平台上编译生成libzmq:https://blog.csdn.net/metallicqi/article/details/50631421
其中还包含libsodium库,也从github上下载,并且编译。
打包完成后运行还是闪退?
用cmd命令
转到exe文件夹下
用.\xxx (xxx为exe文件名)运行exe,会看到报错记录
正常情况下,将dist中的exe拿出来放到要打包的主文件的同文件夹下,这样路径就不会有问题,如果报错“找不到预训练模型与路径保存文件夹”,通过这种方式可以解决。