整理了一些pyqt5在python虚拟环境下的坑

1. 无法找到插件目录

pyqt程序无法运行,并且会弹出以下对话框(this application failed to start.....)

产生这个问题的原因是pyqt5在查找plugins的时候(plugins存放了启动文件),无法识别中文路径。(Qt plugin directory  "" does not exist!)

 这是具体的报错信息,  中文路径的部分都是问号,说明pyqt无法识别中文,然后查找plugin 无果报错。

在正常的python环境里,所有路径都是由中文构成的,所以不会报错。

我觉得这是qt的一个历史遗留问题,类似于python2,也是不支持中文。(不过最新的pyqt6已经解决了这个问题)

解决办法1

import os
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = r'.\venv\Lib\site-packages\PyQt5\Qt5\plugins'

复制这两行到程序最前方,解决路径问题,作用是改变plugins的查找路径(也可以把plugins单独拿出来,自定义一个想要的路径)

缺陷:

这种方式治标不治本,因为pyqt5的中文路径问题仍然存在,这里解决了,可能使用pyqt5里别的某一个模块就会有同样问题

解决办法2(省时省力)

不在虚拟环境中使用pyqt5,或者改用pyqt6。(pyqt6已经解决了中文问题,在虚拟环境也可以正常使用)

这种方式几乎不会碰到任何环境的坑。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值