python未打包时可用,打包后,available platform plugins are.Reinstalling the application may fix this problem

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


问题

打包labelme之后,运行exe,提示This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.。available platform plugins are
在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、原因及解决办法

网上都说是环境变量的问题,添加环境变量后还是不对。
感觉根本上就是找不到库的原因。于是自己尝试了几次,前两次的尝试都失败了,不过最后一次尝试,软件可以启动运行了,建议看完之后再尝试。

我本来装的pyqt5,在labelme所用的虚拟环境下查看\Lib\site-packages\PySide2\plugins\platforms目录下动态库只有4个,而提示上显示了5个:direct2d,minimal,offscreen,webgl,windows。
于是卸载pyqt5,重装,然后重新打包,还是不对。

再次卸载pyqt5,安装PySide2,查看\Lib\site-packages\PySide2\plugins\platforms目录下动态库个数是5个,感觉应该是对的,重新打包,还是报错。
在PySide2的_init__.py文件中增加

#下面三行是在import部分就加入pyside2的plugins\platforms文件夹路径
dirname = os.path.dirname(PySide2.__file__) 
plugin_path = os.path.join(dirname, 'plugins', 'platforms') 
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path

重新打包还是出错。

查看打包后的目录下只有pyqt5文件夹,无PySide2文件夹,于是将\Lib\site-packages\PySide2\plugins\platforms目录下动态库拷贝到打包目录下的dist\PyQt5\Qt\plugins\platforms文件夹下后,再次启动,无问题,软件运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值