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

相关推荐
兵慌码乱7 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵9 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio12 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户03321266636714 小时前
使用 Python 从零创建 Word 文档
python
Csvn18 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽19 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户5569188175321 小时前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱1 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei2 天前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python