PyQt5配置踩坑

安装步骤比较简单,这里只说一下我踩的坑,以及希望一些大佬可以给点建议。

一、QtDesigner

这个配置比较简单,直接就能用,我的配置如下图:

C:\Users\lenovo\AppData\Roaming\Python\Python311\site-packages\qt5_applications\Qt\bin\designer.exe

bash 复制代码
$ProjectFileDir$

二、PyUIC

这个配置搞了两天。。。一直有问题,查了无数的方法,最终也没能解决报错:

bash 复制代码
ImportError: DLL load failed while importing QtCore: 找不到指定的模块。

我使用的方法包括:

复制一个python.dll文件放到和python.exe同一目录下,没用。

pip uninstall+install的反复下载重装,没用。

而且网上教程里写的PyUIC外部工具配置的都不太一样。。。尝试了好几个都不行。。。。

而且我的Anaconda的图标直接打不开了,只能在cmd里创建新环境。

最终解决办法:

在cmd里新建了一个python3.8的环境,然后conda activate此环境,再在这里面pip install PyQt,以及 pip install PyQt5-tools,然后设置这个环境里的python.exe为程序,设置如下图:

我发现我的电脑里一共有四个地方有QT5的相关程序包,

包括:

1.第一个地方

bash 复制代码
C:\Users\lenovo\AppData\Roaming\Python\Python311

这个应该是我直接在桌面cmd安装PyQt5时的默认安装目录。也是QtDesigner可以顺利运行所使用到的一个目录。但是不知道为什么,反复安装卸载之后,

bash 复制代码
C:\Users\lenovo\AppData\Roaming\Python\Python311\Scripts

这个目录就是没有pyuic5这个文件。。。。。

2.第二个地方

bash 复制代码
C:\Users\lenovo\AppData\Local\Programs\Python\Python311

这个地方的应该是Pycharm项目环境下面新建虚拟环境时默认的环境,在这里面的Scripts是有pyuic5文件的,C:\Users\lenovo\AppData\Local\Programs\Python\Python311\Lib\site-packages下面也有一堆pyqt5的相关程序包,但是不知为什么用这个地方下面的python.exe配置外部工具仍然报错找不到QTcore,我都找到了?
PS:而且直接在cmd中卸载pqt5,显示卸载完毕,但是以上这两个环境的包根本没被删掉?有知道怎么删掉所有相关包吗?remove的命令也不行。。。

3.第三个地方

bash 复制代码
E:\Anaconda

第三个地方应该是直接conda activate然后下载pyqt5时,自动安装到base环境的包,在E:\Anaconda\Lib\site-packages这个目录下有很多pyqt5相关的包,同样,仍然删不掉,进入base环境之后,conda uninstall卸载显示卸载成功,但是这些包仍然存在??

而在E:\Anaconda\Scripts中不存在pyuic的文件

4.第四个地方

这个也就是我最终成功的环境,E:\Anaconda\envs\pyqtenvs

bash 复制代码
E:\Anaconda\envs\pyqtenvs

里存在python文件,

bash 复制代码
E:\Anaconda\envs\pyqtenvs\Scripts 

里面存在pyuic5文件,

bash 复制代码
E:\Anaconda\envs\pyqtenvs\Lib\site-packages

里面也存在Qtcore文件

配置成功后,最终结果如下:
E:\Anaconda\envs\pyqtenvs\python.exe

bash 复制代码
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
bash 复制代码
$FileDir$

之后就可以运行成功了。。。

三、最后的建议

如果一直报错无法解决,建议开一个干净的conda环境,在这里面进行配置是最好的。。。

相关推荐
a7963lin1 小时前
PHP怎么实现单例模式_PHP常用设计模式之单例模式【方法】
jvm·数据库·python
Aision_4 小时前
从工具调用到 MCP、Skill完整学习记录
java·python·gpt·学习·langchain·prompt·agi
辞旧 lekkk8 小时前
【Qt】信号和槽
linux·开发语言·数据库·qt·学习·mysql·萌新
2zcode8 小时前
运动模糊图像复原的MATLAB仿真与优化
开发语言·matlab
袁雅倩19979 小时前
当吸尘器、筋膜枪都用上Type-C,供电方案该怎么选?浅谈PD取电芯片ECP5702的应用
c语言·开发语言·支持向量机·动态规划·推荐算法·最小二乘法·图搜索算法
2301_809204709 小时前
JavaScript中严格模式use-strict对引擎解析的辅助.txt
jvm·数据库·python
zjy2777710 小时前
mysql如何选择合适的索引类型_mysql索引设计实战
jvm·数据库·python
Aaswk10 小时前
Java Lambda 表达式与流处理
java·开发语言·python
万邦科技Lafite10 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
liuhuizuikeai11 小时前
可视化门禁---Linux/Qt+SqLite篇
linux·运维·qt