具体问题如题,使用Pyinstaller对python项目打包后,不能运行,出现诸多问题,这里一一解决。
Pyinstaller如何打包的问题,可以参考以前的文章:
https://blog.csdn.net/he99774/article/details/78123755
下面是使用Pyinstaller在Conda的环境下打包exe后,无法运行时遇到的问题和解决方案:
(这里插一句,一般exe有错误,那么双击运行后就会闪一下就没了,对于这种看不到具体错误信息,有两种方法:
1、手速快的话,可以趁着闪的那一下直接截图,就能看到错误消息
2、打开对应位置的CMD,然后输入.\name.exe,输入你的对应的exe,有报错信息就会显示)
问题001:因为项目中使用了opencv,有下面导包的代码就会报错,
import cv2
报错如图:
解决001:
如图是opencv和numpy对应的问题,卸载numpy,安装conda-forge numpy
conda uninstall numpy
conda install -c conda-forge numpy
PS:用conda卸载numpy,会将很多相关的包,如我的Matplotlib和numba也会被卸载掉,后面再安装就好了。
问题002:运行后没有任何消息,如图所示。
问题现象:当我先激活conda环境,如:activate py36,激活后再去CMD就可以正常运行
解决002:这还是Conda环境的问题,有了conda
解决参考:https://www.pythonheidong.com/blog/article/442388/156edf32a73a276ab2d0/
找到conda下的libiomp5md.dll
并将其复制到打包(dist)的文件夹下(反正和exe同目录就行)就正常了。
问题003:运行后显示没有exiv包,如果你有同样没有包的问题,可以参考。
解决003:
将conda中的pyexiv2的整个文件夹复制到目录。如果是其他包,直接复制过来,简单暴力。