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

相关推荐
Alive~o.03 分钟前
Go语言进阶&依赖管理
开发语言·后端·golang
花海少爷5 分钟前
第十章 JavaScript的应用课后习题
开发语言·javascript·ecmascript
手握风云-6 分钟前
数据结构(Java版)第二期:包装类和泛型
java·开发语言·数据结构
喵叔哟26 分钟前
重构代码中引入外部方法和引入本地扩展的区别
java·开发语言·重构
尘浮生32 分钟前
Java项目实战II基于微信小程序的电影院买票选座系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
hopetomorrow1 小时前
学习路之PHP--使用GROUP BY 发生错误 SELECT list is not in GROUP BY clause .......... 解决
开发语言·学习·php
小牛itbull1 小时前
ReactPress vs VuePress vs WordPress
开发语言·javascript·reactpress
请叫我欧皇i1 小时前
html本地离线引入vant和vue2(详细步骤)
开发语言·前端·javascript
nuclear20111 小时前
使用Python 在Excel中创建和取消数据分组 - 详解
python·excel数据分组·创建excel分组·excel分类汇总·excel嵌套分组·excel大纲级别·取消excel分组
闲暇部落1 小时前
‌Kotlin中的?.和!!主要区别
android·开发语言·kotlin