PyQt5配置踩坑

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

一、QtDesigner

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

在这里插入图片描述C:\Users\lenovo\AppData\Roaming\Python\Python311\site-packages\qt5_applications\Qt\bin\designer.exe

$ProjectFileDir$

二、PyUIC

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

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.第一个地方

C:\Users\lenovo\AppData\Roaming\Python\Python311

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

C:\Users\lenovo\AppData\Roaming\Python\Python311\Scripts

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

2.第二个地方

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.第三个地方

E:\Anaconda

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

4.第四个地方

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

E:\Anaconda\envs\pyqtenvs

里存在python文件,

E:\Anaconda\envs\pyqtenvs\Scripts 

里面存在pyuic5文件,

E:\Anaconda\envs\pyqtenvs\Lib\site-packages

里面也存在Qtcore文件
在这里插入图片描述
配置成功后,最终结果如下:
在这里插入图片描述E:\Anaconda\envs\pyqtenvs\python.exe

-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
$FileDir$

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

三、最后的建议

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/128421.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人脸动作迁移——基于DaGAN深度感知的生成对抗网络操作对口型数字人

前言 口播视频生成旨在合成具有源图像和驱动视频的身份和姿势信息的协同人脸视频。现有方法主要依赖于从输入图像中学到的二维表示(如外观和运动),但密集的三维面部几何信息(如像素深度)对任务至关重要。这有助于生成…

上门按摩小程序|同城上门按摩软件开发|上门按摩系统;

上门按摩小程序的开发具有许多优势,下面就给大家介绍下按摩小程序功能: 上门按摩小程序的优势 方便快捷:上门按摩小程序提供在线预约服务,用户可以通过手机随时随地预约按摩师上门服务,避免了传统预约方式的繁琐和不确定性。 个性…

【Nginx学习】—Nginx基本知识

【Nginx学习】—Nginx基本知识 一、什么是Nginx Nginx是一个高性能的HTTP和反向代理的web服务器,Nginx是一款轻量级的Web服务器/反向代理服务器处理高并发能力是十分强大的,并且支持热部署,启动简单,可以做到7*24不间断运行。 …

云安全之下一代防火墙介绍

防火墙的概念 下一代防火墙(Next Generation Firewall,NGFW)是一种可以全面应对应用层威胁的高性能防火墙。通过深入洞察网络流量中的用户、应用和内容,并借助全新的高性能单路径异构并行处理引擎,NGFW能够为用户提供…

jmeter利用自身代理录制脚本

在利用代理录制脚本时一定要安装java jdk,不然不能录制的。 没有安装过java jdk安装jmeter后打开时会提示安装jdk,但是mac系统中直接打开提示安装jdk页面后下载的java并不是jdk(windows中没有试验过,笔者所说的基本全部指的是在ma…

【VUE】element Table指定字段单元格样式及数据格式化

将列表中的指定字段的数据&#xff0c;根据字典值回显&#xff0c;并修改指定状态的显示样式 <el-tableref"table"height"500px":data"dataList"><template v-for"(item, index) in columns"><el-table-column:key&quo…

【Overload游戏引擎分析】从视图投影矩阵提取视锥体及overload对视锥体的封装

overoad代码中包含一段有意思的代码&#xff0c;可以从视图投影矩阵逆推出摄像机的视锥体&#xff0c;本文来分析一下原理 一、平面的方程 视锥体是用平面来表示的&#xff0c;所以先看看平面的数学表达。 平面方程可以由其法线N&#xff08;A, B, C&#xff09;和一个点Q(x0,…

机器学习:随机森林

集成学习 集成学习&#xff08;Ensemble Learning&#xff09;是一种机器学习方法&#xff0c;通过将多个基本学习算法的预测结果进行组合&#xff0c;以获得更好的预测性能。集成学习的基本思想是通过结合多个弱分类器或回归器的预测结果&#xff0c;来构建一个更强大的集成模…

Ubuntu 22.04 安装系统 手动分区 针对只有一块硬盘 lvm 单独分出/home

自动安装的信息 参考自动安装时产生的分区信息 rootyeqiang-MS-7B23:~# fdisk /dev/sdb -l Disk /dev/sdb&#xff1a;894.25 GiB&#xff0c;960197124096 字节&#xff0c;1875385008 个扇区 Disk model: INTEL SSDSC2KB96 单元&#xff1a;扇区 / 1 * 512 512 字节 扇区大…

设计模式 - 访问者模式

目录 一. 前言 二. 实现 三. 优缺点 一. 前言 访问者模式&#xff0c;即在不改变聚合对象内元素的前提下&#xff0c;为聚合对象内每个元素提供多种访问方式&#xff0c;即聚合对象内的每个元素都有多个访问者对象。访问者模式主要解决稳定的数据结构和易变元素的操作之间的…

分布式锁如何实现

分布式是现在的比较主流的技术&#xff0c;常常和微服务一起出现。那么对于多个实例之间&#xff0c;如何证分布式系统中多个进程或线程同步访问共享资源呢&#xff1f;我们其实一想到的就是锁&#xff0c;我们在java里边有 synchronized, 在python里有lock&#xff0c;但是这个…

【ESP32 + Edge Impulse平台】运行AI算法模拟多传感器数据融合实现异常检测

本篇博文主要以ESP32+MQ Sensor 气体传感器为例,通过连接 Edge Impulse 平台,实现数据的实时采集和训练,进而实现在嵌入式设备上部署 ML 机器学习。本教程介绍如何使用 Edge Impulse 和机器学习来实现ESP32 异常检测系统,系统使用一个机器学习模型,检测气体何时出现异常。…