概述
(附加问题Cannot find existing PyQt5 plugin directories与This application failed to start becaise no Qt platform plugin could be initized的解决方案 ),因为不想再写一篇博客,就简单说一下,偷个懒,希望能帮到大家。
首先先上我的问题:
在没打包发布前是没有任何问题的,打包成为EXE文件后,就出现这个情况了。从上面的提示可以看出程序是有一个模块找不到,可能各位出现了同样的情况,但缺少的模块可能是不一样的,但是这个解决方法都是一样,只需要把我们电脑中对应PYTHON中的这个模块部分复制到打包形成后EXE所在的目录下。具体的步骤如下:
1.打包发布成文件夹的形式,不要直接打包成为 一个单独的EXE文件,否则不利手动添加缺少的文件。
命令:pyinstaller -D -i win.ico main.py
其中win.ico:自己的图标文件
main.py:程序的主程序入口
2.打包后会得到下面的文件夹,仔细看这个目录下是没有错误提示的那个cftime模块的,这就是错误的原因。
3.复制缺少的模块文件夹,找到对应PYTHON下的这个模块,将这个模块文件夹复制到上面那个目录下。
复制到
此时运行这个目录下的EXE文件,就可以完美运行了。
4.如果运行时出现控制台窗口,把控制台窗口去掉。
main.spec这个文件是在第一步的命令后自动生成的,可能你的这个文件名称和我的不一样,但后缀是一样的.spec,打开这个文件,把console=True,改为console=False,然后输入命令pyinstaller main.spec。就会重新生成文件,把缺少的文件再重新放入EXE所在的目录,就可以去掉控制台窗口了。
附一、到此已经结束了,可能有人会问,虽然可以运行了,可是那么多的文件与文件夹,给别人用时不如一个EXE文件方便,这时可以再次打包,这个打包软件很多,我经常用的一个打包软件是下面这个
通过这个软件就可以打包成为一个EXE了。效果如下:
附二、另外再送一个问题的解决方案,问题是Cannot find existing PyQt5 plugin directories,如下:
就是找不到PyQt5的插件,一般情况下如果没打到会提示在哪个目录下没有找到,如下:
如果有提示在哪个目录找不到,恭喜你,这个把Qt目录下的plugins目录复制到上面提示的路径下就行了,没的这个路径自己创建也行,这个好解决,但是如果遇到上面那种找不到插件,并且还不给个提示的,那就不好办了,我的解决方法是PyQt5重新安装就行了,是电脑中PyQt5不完善发育导致的。
附三、另外再送一个问题的解决方案,如果运行打包发布好的Qt开发的程序,出现This application failed to start becaise no Qt platform plugin could be initized.......吧啦吧啦的,如下:
这种原因,可能是你的系统变量中已经设置默认的Qt软件运行环境了,导致软件自身运行的环境叛变了,查看系统变量中有没有设置下面的变量,如有,就把这个变量删除掉。
删除后,再运行Qt开发的软件,就可以运行了。
最后
以上就是优雅鼠标为你收集整理的PyQt5打包发布后出现闪退或缺少模块的解决方法(附加问题Cannot find existing PyQt5 plugin directories与This application failed )的全部内容,希望文章能够帮你解决PyQt5打包发布后出现闪退或缺少模块的解决方法(附加问题Cannot find existing PyQt5 plugin directories与This application failed )所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复