Conda的环境配置一定要配全,不然会出现很多奇奇怪怪的问题,包找不到什么的
主要有三个环境的配置:
①anaconda安装路径(为了Python检查正常):前面安装时路径一定要记清楚,之前已提醒复制,我的是D:\development\Python\anaconda3
②安装路径\Scripts(为了conda检查正常):只需在上述路径中找到Scripts,然后复制路径即可,我的路径D:\development\Python\anaconda3\Scripts
③另一个路径(加不加不知道有什么区别,不影响后边的检查):安装路径\Library\bin,如我的是D:\development\Python\anaconda3\Library\bin
Pyinstaller 打包遇到的一系列问题的解决方案
1. ModuleNotFoundError:No module named typedefs之类的问题
在打包之后 当前目录下有个xx.spec文件。在里面将
hiddenimports=[]
修改为:
hiddenimports=[‘cython‘,‘sklearn‘,‘sklearn.ensemble‘,‘sklearn.neighbors.typedefs‘,‘sklearn.neighbors.quad_tree‘,‘sklearn.tree._utils‘,‘scipy._lib.messagestream‘]
在运行以下命令
pyinstaller xx.spec
2. This application failed to start because it could not find or load the Qt platform plugin “windows”
将pyqt中相关文件拷贝到你生成的xxx.exe目录下
具体文件夹为
C:\Python34\Lib\site-packages\PyQt5\plugins\platforms
如果没有的话,anaconda的请用这个
C:\Anaconda3\Library\plugins\platforms
(不一定是c盘啊,具体为自己的安装路径)
3. 使用opencv读取视频,但是打开失败
C:\Anaconda3\Lib\site-packages\cv2\opencv_ffmpeg341_64.dll这个动态链接库 复制到生成的exe的目录下
4. PYQT 动态数组 图表在打包之后,一直覆盖 无法更新
这是个神奇的问题,在集成环境下,一切ok。但是在pyinstaller打包之后,动态图数组一直覆盖,没法更新。
经过我和嘉豪一天的各种调试,(控制变量法)最后找到问题,就是背景图导致的。 最后我们的解决方案是用一个和背景一样大小的控件,在控件里加入图片作为背景。
pyinstaller打包exe文件出现命令窗口一闪而过
实在是想不明白,于是去网上查各种资料,终于查到了原因,原来是和编写的工具有关,pacharm
导入的模块并没有安装到电脑的python中模块中去,这就导致了,在pacharm中能正常运行,在
命令窗口里运行python文件时却提示错误。
搞明白原因后赶紧去试验了一下,用pip安装了requests后再打包,果然可以了。
在这次查找问题,解决问题的过程中,我总结了一下,这和我一上来就使用pycharm有关,
pycharm在编程时确实好用,自动化程度确实高,但是在基础还未学好的情况下我建议还是先使用
IDLE吧,我之前就跳过了IDLE直接使用的pycharm,我现在也处在自学阶段,就换回了IDLE,
如果python有模块没导入,它会直接提示你,你也只能pip去安装或手动安装,这样打包的时候就
不会有缺少模块的问题,也希望大家在以后的学习中碰到问题能及时解决问题,不要像我这样一个
简单的问题搞了一天。
解决:ImportError: No module named ‘pyproj.datadir‘