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环境,在这里面进行配置是最好的。。。

相关推荐
朝朝辞暮i2 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
言乐63 小时前
HTML视频审核模型
python·django·virtualenv·pygame·tornado
小师兄吃牛肉3 小时前
C语言篇:宏
c语言·开发语言
郑同学的笔记3 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
言乐64 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
weixin_307779134 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
kakakahahahaha4 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
朝朝辞暮i4 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
yl45305 小时前
硫酸泄露处理生产商怎么选才够专业
大数据·人工智能·python
朝朝辞暮i5 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法