Pyinstaller 打包exe另一台电脑运行报错....could not find or load the Qt platform plugin "windows"in “”

本文详细解析了使用Pyinstaller打包Python应用时,遇到的ThisapplicationfailedtostartbecauseitcouldnotfindorloadtheQtplatformpluginwindowsin“”问题。提供了从错误信息分析到具体解决方案的全过程,包括如何正确定位并复制QT插件,以及设置环境变量,确保跨平台运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pyinstaller 打包-This application failed to start because it could not find or load the Qt platform plugin "windows"in “”问题补充。。。

写在前面

关于This application failed to start because it could not find or load the Qt platform plugin "windows"in “”这个问题,网上有不少帖子进行说明,但是实际操作过程中发现大多数都省略了一些步鄹,这里做一些补充说明。
(补充说明:我遇到的问题是我用pyinstaller -F -w xxx.py打包的exe在我的电脑上运行没问题,但是在其他电脑上运行出现上述问题,下面的解决方案目前只在这种情况下作了测试,供类似情形的朋友参考)

原因分析及解决办法

报错内容有两处信息:

  1. Qt platform plugin “windows” 说明缺少QT在windows下的插件
  2. in “”,这里的路径是“”(空),说明系统找不到该插件的路径

针对上面两点,我们逐一进行解决:

  1. 缺少QT在windows下的插件 ,很显然需要添加这个插件,网上大多数帖子也说了将PyQt5\Qt\plugins下的所有内容拷贝到相应文件夹下,但是没说清楚PyQt5\Qt\plugins的来源和去处。实际上安装完PyQt5后,在对应的安装目录下存在至少两个plugins的文件夹,而这两处都不是来源(我测试的情况是这样)。
    PyQt5\Qt\plugins来源 :打包时通过pyinstaller -D xxx.py命令进行打包(将-F 替换成-D,去掉-w,这样错误信息能够在弹出的窗口中显示,便于调试),生成完成打包后的结果dist目录下包含PyQt5\Qt\plugins文件夹,这里面才是源文件夹。
  2. in “” 系统找不到该插件的路径 ,我采用的办法是将pyinstaller -D xxx.py打包结果文件夹拷贝到上述报错的电脑上,运行文件夹中的exe文件,这时还是报错,但是在弹出的命令行中显示了错误的信息。
    a. 如果电脑上没有装python及设置Qt环境变量,估计报错还是跟最开始的一样,建议先参考[https://blog.youkuaiyun.com/qingwufeiyang12346/article/details/78300888]安装PyQt5并设置QT环境变量:
    变量名:QT_QPA_PLATFORM_PLUGIN_PATH
    路径: python安装路径\Lib\site-packages\PyQt5\Qt\plugins
    (我的是C:\Users\wol\AppData\Local\Programs\Python\Python36\Lib\site-packages\PyQt5\Qt\plugins)
    PyQt5\Qt\plugins去处 : 如果电脑上已经安装好python及设置Qt环境变量,运行打包结果文件夹中的exe文件,命令行中报错会给出具体找不到插件的路径,这里的路径才是目标路径。
  3. 解决办法 :搞清楚上面的源文件和目的路径后,接下来就只需要将源文件夹(用pyinstaller -D xxx.py打包结果下的PyQt5\Qt\plugins文件夹)下的所有文件拷贝到目标路径就行。再运行打包结果文件夹下的exe文件就能正常运行了。(经过这样配置后,原来用pyinstaller -F -w xxx.py打包的exe也能够正常运行了)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值