这个是在python 中使用pyqt,pyinstaller 打包成 .exe 中,打开执行文件而报的错。所有的报错信息如下:

qt.qpa.plugin: Could not load the Qt platform plugin "window" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: minimal, offscreen,windows

报如上错误,主要是plugin 文件夹中没有 windows.dll 文件,并且文件路径也是空的,不知道去哪里找( 如上文中 in "")。

我这边是在anaconda中下载了python3.7 的版本,然后在cmd 中直接进行匹pip 安装了pyinstaller 跟 pyqt 已经pyqt_tools 这个工具。下边是介绍两个方法(其中一种是万能的方法):

方法一:将基于上述安装的程序过程中查找此路径,C:\ProgramData\Anaconda3\Library\plugins\platforms ,并将后边四个文件,minimal,offscreen,Windows,webgl (这个文件可能不需要)这几个.dll 文件复制到此路径下边:C:\ProgramData\Anaconda3\pkgs\pyqt-5.9.2-py37h6538335_2\Library\plugins\PyQt5。

 接着在环境变量中配置好QT 的这些文件路径:

变量名:QT_QPA_PLATFORM_PLUGIN_PATH

变量值:(minimal.dll,offscreen.dll,Windows.dll ) 这几个文件所在的路径,这个方法我们把它放入了上述路径:C:\ProgramData\Anaconda3\pkgs\pyqt-5.9.2-py37h6538335_2\Library\plugins\PyQt5

 万能办法(也可以解决exe 文件移植到其他电脑不能跑而报的上述错误):

报错的原因就是QT 的plugins 文件夹中找不到minimal,window,offscreen.dll 这三个文件,在你的电脑中找到这三个文件,然后复制到你指定的路径,并按上边配置好环境变量即可。步骤如下:这里从已经生成了exe文件后讲起,exe文件放在dist 名下,与其同一路径下的是PyQt5 这个文件夹,将./dist/PyQt5/Qt/plugins 这个路径放到 系统变量 的新建 变量值中,变量名不变
:QT_QPA_PLATFORM_PLUGIN_PATH;这样就完成了配置,再次打开cmd 去执行这个.exe将不会出错

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐