Windows11 python3.12 安装pyqt6 pyqt6-tools
Windows11 python3.12 安装pyqt6比较容易,但pyqt6-tools一直安装不上去。出错信息如下:
(venv) PS D:\python_project\pyqt6> pip install pyqt6-tools
Collecting pyqt6-toolsUsing cached pyqt6_tools-6.4.2.3.3-py3-none-any.whl (29 kB)
Collecting click (from pyqt6-tools)Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting pyqt6==6.4.2 (from pyqt6-tools)Using cached PyQt6-6.4.2-cp37-abi3-win_amd64.whl (6.4 MB)
INFO: pip is looking at multiple versions of pyqt6-tools to determine which version is compatible with other requirements. This could take a while.
Collecting pyqt6-toolsUsing cached pyqt6_tools-6.3.1.3.3-py3-none-any.whl (29 kB)
Collecting pyqt6==6.3.1 (from pyqt6-tools)Using cached PyQt6-6.3.1-cp37-abi3-win_amd64.whl (6.3 MB)
Collecting pyqt6-toolsUsing cached pyqt6_tools-6.1.0.3.2-py3-none-any.whl (29 kB)
Collecting pyqt6==6.1.0 (from pyqt6-tools)Using cached PyQt6-6.1.0.tar.gz (946 kB)Installing build dependencies ... doneGetting requirements to build wheel ... donePreparing metadata (pyproject.toml) ... errorerror: subprocess-exited-with-error× Preparing metadata (pyproject.toml) did not run successfully.│ exit code: 1╰─> [25 lines of output]Traceback (most recent call last):File "D:\python_project\pyqt6\venv\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>main()File "D:\python_project\pyqt6\venv\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in mainjson_out['return_val'] = hook(**hook_input['kwargs'])^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "D:\python_project\pyqt6\venv\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 152, in prepare_metadata_for_build_wheelwhl_basename = backend.build_wheel(metadata_directory, config_settings)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-_zameq9a\overlay\Lib\site-packages\sipbuild\api.py", line 46, in build_wheelproject = AbstractProject.bootstrap('wheel',^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-_zameq9a\overlay\Lib\site-packages\sipbuild\abstract_project.py", line 87, in bootstrapproject.setup(pyproject, tool, tool_description)File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-_zameq9a\overlay\Lib\site-packages\sipbuild\project.py", line 586, in setupself.apply_user_defaults(tool)File "C:\Users\Administrator\AppData\Local\Temp\pip-install-ehu53r9y\pyqt6_4b804778e8fb47789f82404b20ec89f5\project.py", line 60, in apply_user_defaultssuper().apply_user_defaults(tool)File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-_zameq9a\overlay\Lib\site-packages\pyqtbuild\project.py", line 70, in apply_user_defaultssuper().apply_user_defaults(tool)File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-_zameq9a\overlay\Lib\site-packages\sipbuild\project.py", line 237, in apply_user_defaultsself.builder.apply_user_defaults(tool)File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-_zameq9a\overlay\Lib\site-packages\pyqtbuild\builder.py", line 69, in apply_user_defaultsraise PyProjectOptionException('qmake',sipbuild.pyproject.PyProjectOptionException[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed× Encountered error while generating package metadata.
╰─> See above for output.note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
找了一圈,终于找到了解决办法,用python3.11的插件包进行安装,有了环境,就可以正常安装pyqt6-tools了。
如果不想做下面的自己动手步骤,可以看文章顶部的下载资源,直接下载后安装即可。
pyqt6的插件下载地址如下:
pyqt6-plugins · PyPI
看上图,目前只有cp311,就是python3.11的版本,还没有python3.12的版本。那就用这个插件包,可行的原因可能是差别不大?
下载后的文件名是:pyqt6_plugins-6.4.2.2.3-cp311-cp311-win_amd64.whl
打开winrar,把这个拖进去,找到info文件夹,里面有个METADATA文件,拖出来,用记事本修改里面的信息。
把Requires-Dist: pyqt6 后面的限定版本删去,修改为下面这样。
保存,然后替换压缩包里的同名文件。在终端里,使用pip install 安装这个whl文件,安装前,必须要改名,因为文件名里有cp311,跟系统python3.12版本不一样,会出现错误:
(venv) PS D:\python_project\pyqt6> pip install .\pyqt6_plugins-6.4.2.2.3-cp311-cp311-win_amd64.whl
ERROR: pyqt6_plugins-6.4.2.2.3-cp311-cp311-win_amd64.whl is not a supported wheel on this platform.
修改文件名为:pyqt6_plugins-6.4.2.2.3-py3-none-any.whl,再pip install 进行安装。
(venv) PS D:\python_project\pyqt6> pip install .\pyqt6_plugins-6.4.2.2.3-py3-none-any.whl -i https://pypi.tuna.tsinghua.edu.cn/simple/
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/
Processing d:\python_project\pyqt6\pyqt6_plugins-6.4.2.2.3-py3-none-any.whl
Collecting click (from pyqt6-plugins==6.4.2.2.3)Using cached https://pypi.tuna.tsinghua.edu.cn/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl (97 kB)
Requirement already satisfied: pyqt6 in d:\python_project\pyqt6\venv\lib\site-packages (from pyqt6-plugins==6.4.2.2.3) (6.6.0)
Collecting pyqt6-qt6==6.4.3 (from pyqt6-plugins==6.4.2.2.3)Downloading https://pypi.tuna.tsinghua.edu.cn/packages/11/cf/9102346c5ea4cc2796d1eb2214593e5b65a500b2abaad258cadfe8cb3dca/PyQt6_Qt6-6.4.3-py3-none-win_amd64.whl (57.5 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.5/57.5 MB 32.8 MB/s eta 0:00:00
Collecting qt6-tools<6.4.3.2,>=6.4.3.1.2 (from pyqt6-plugins==6.4.2.2.3)Downloading https://pypi.tuna.tsinghua.edu.cn/packages/18/5f/58fd48246779de82bd15a9cb1bface620fb7b6009ee5a5544f1a5ca39cdb/qt6_tools-6.4.3.1.3-py3-none-any.whl (13 kB)
Collecting qt6-applications<6.4.3.3,>=6.4.3.2.2 (from qt6-tools<6.4.3.2,>=6.4.3.1.2->pyqt6-plugins==6.4.2.2.3)Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c9/39/eb4d4c22b7785cd31713a8354ca97eb2ffe95f1a8809ea06e21d762d0bc7/qt6_applications-6.4.3.2.3-py3-none-win_amd64.whl (71.3 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 71.3/71.3 MB 7.4 MB/s eta 0:00:00
Collecting colorama (from click->pyqt6-plugins==6.4.2.2.3)Using cached https://pypi.tuna.tsinghua.edu.cn/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Requirement already satisfied: PyQt6-sip<14,>=13.6 in d:\python_project\pyqt6\venv\lib\site-packages (from pyqt6->pyqt6-plugins==6.4.2.2.3) (13.6.0)
INFO: pip is looking at multiple versions of pyqt6 to determine which version is compatible with other requirements. This could take a while.
Collecting pyqt6 (from pyqt6-plugins==6.4.2.2.3)Using cached https://pypi.tuna.tsinghua.edu.cn/packages/d4/57/b4ce3b066da571d969e3b70135902d6a3903dc2f44a664867abbdd2bd734/PyQt6-6.5.3-cp37-abi3-win_amd64.whl (6.5 MB)Downloading https://pypi.tuna.tsinghua.edu.cn/packages/0e/83/b5f0d005bb7d5bae034edadcb62dc70f9a1c242ed49eb333850136dc0b5c/PyQt6-6.5.2-cp37-abi3-win_amd64.whl (6.5 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.5/6.5 MB 8.0 MB/s eta 0:00:00Downloading https://pypi.tuna.tsinghua.edu.cn/packages/8e/a6/fdbfb2fbe303a3576220bdaafa77a8be64944fabbc0007bf50a2778fe4c7/PyQt6-6.5.1-cp37-abi3-win_amd64.whl (6.5 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.5/6.5 MB 14.3 MB/s eta 0:00:00Using cached https://pypi.tuna.tsinghua.edu.cn/packages/3b/b3/68fa3deb9d83f8e5ad880b09e85359a67d8b7975513fd2688ca295a86703/PyQt6-6.5.0-1-cp37-abi3-win_amd64.whl (6.5 MB)Using cached https://pypi.tuna.tsinghua.edu.cn/packages/7a/4e/4acc0ebe1f3231217bee58ec0f90ef6bdfbd6e0b7d08420c5ddb97780288/PyQt6-6.4.2-cp37-abi3-win_amd64.whl (6.4 MB)
Installing collected packages: pyqt6-qt6, qt6-applications, pyqt6, colorama, click, qt6-tools, pyqt6-pluginsAttempting uninstall: pyqt6-qt6Found existing installation: PyQt6-Qt6 6.6.0Uninstalling PyQt6-Qt6-6.6.0:Successfully uninstalled PyQt6-Qt6-6.6.0Attempting uninstall: pyqt6Found existing installation: PyQt6 6.6.0Uninstalling PyQt6-6.6.0:Successfully uninstalled PyQt6-6.6.0
Successfully installed click-8.1.7 colorama-0.4.6 pyqt6-6.4.2 pyqt6-plugins-6.4.2.2.3 pyqt6-qt6-6.4.3 qt6-applications-6.4.3.2.3 qt6-tools-6.4.3.1.3
尾部加上清华的镜像,速度飞快啊,建议安装任何包都可以加上这个后缀,就是pip install xxx 后面加上:
-i https://pypi.tuna.tsinghua.edu.cn/simple/
这个时候再安装pyqt6-tools一路顺畅。
pip install pyqt6-tools -i https://pypi.tuna.tsinghua.edu.cn/simple/
我是在env里安装的,qt designer在 qt6_application文件夹里。
可以发送快捷方式到桌面。打开设计一个窗体。存储到工程文件夹里,命名main.ui。
使用命令把ui设计文件转换成python代码:
pyuic6 -x main.ui -o win.py
直接运行这个win.py文件就可以了,里面都是自动转换成python的代码。
直接运行:
还可以加载ui来运行。
使用教程里的代码:
from PyQt6.QtWidgets import QApplication, QWidget
import sys
from PyQt6 import uicclass UI(QWidget):def __int__(self):super().__init__()uic.loadUi("main.ui", self)app = QApplication(sys.argv)
window = UI()
window.show()
app.exec()
出错:
D:\python_project\pyqt6\app.py:14: DeprecationWarning: sipPyTypeDict() is deprecated, the extension module should use sipPyTypeDictRef() insteadwindow = UI()
libpng warning: iCCP: cHRM chunk does not match sRGB
使用很多教程里面的,都是出现上面这样的错误。
终于找到一个可以正常运行的:
from PyQt6 import uic
from PyQt6.QtWidgets import QApplicationForm, Window = uic.loadUiType("main.ui")
app = QApplication([])
window = Window()
form = Form()
form.setupUi(window) # 配置外观
window.show()
app.exec() # 转交控制权给pyQt6
上面的代码里form.setupUi(window) # 配置外观这一句,是不是有点自己加载自己的感觉啊?我这萌新已经一头浆糊了。
感谢:pyqt6导入和加载Qt Designer的ui档案_九是否随机的称呼的博客-CSDN博客
感谢:pip - Cannot install PyQt6 tools in Python 3.11 on Windows - Stack Overflow
相关文章:

Windows11 python3.12 安装pyqt6 pyqt6-tools
Windows11 python3.12 安装pyqt6比较容易,但pyqt6-tools一直安装不上去。出错信息如下: (venv) PS D:\python_project\pyqt6> pip install pyqt6-tools Collecting pyqt6-toolsUsing cached pyqt6_tools-6.4.2.3.3-py3-none-any.whl (29 kB) Collec…...

反弹Shell
概述 反弹shell(reverse shell)就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端…...
Guava RateLimiter的限流机制详解
限流是保护高并发系统的三种有效方法之一。另外两个分别是缓存和降级。限流在很多场景中都会使用到限制并发数和请求数。例如,在限时抢购的情况下,限流可以保护您自己的系统和下游系统不被巨大的流量淹没。 限流的目的是通过限制并发访问或请求或者限制…...
详解nginx的root与alias
在Nginx中,root和alias指令都可以用来指定Web服务器中的文件根目录。不过,它们之间有一些关键的区别。 root指令指定的是服务器根目录,是用于处理HTTP请求时所使用的默认根目录。例如,若root /var/www/html;,则访问htt…...
在HBuilderX中配置Vue Router的步骤
以下是在HBuilderX中配置Vue Router的步骤: 在项目中安装Vue Router,可以使用npm或yarn命令进行安装。 在src目录下创建routers.js文件,并在该文件中编写路由相关代码,例如: import Vue from vue import Router from …...
通过接口抓取公众号信息并群发
总体步骤 通过非官方接口,登陆公众号获取cookie、token通过token拼接需要的参数,请求被抓取的公众号列表数据通过列表数据获取文章内容解析文章内容并通过官方接口创建草稿通过非官方接口群发创建的草稿(非认证用户,已认证用户可以通过官方接…...

Python基础入门----如何通过conda搭建Python开发环境
文章目录 使用 conda 搭建Python开发环境是非常方便的,它可以帮助你管理Python版本、依赖库、虚拟环境等。以下是一个简单的步骤,演示如何通过 conda 搭建Python开发环境: 安装conda: 如果你还没有安装 conda,首先需要安装Anaconda或Miniconda。Anaconda是一个包含很多数据…...

计算机网络的体系结构
目录 一. 计算机体系结构的形成二. 协议与层次划分2.1 数据传输过程2.2 什么是网络协议2.3 网络协议的三要素2.4 协议有两种形式2.4 各层协议2.5 什么是复用和分用 \quad 一. 计算机体系结构的形成 \quad 计算机网络是一个非常复杂的系统, 相互通信的两个计算机系统必须高度协调…...

cesium雷达扫描(模糊圆效果)
cesium雷达扫描(模糊圆效果) 1、实现思路 使用ellipse方法加载圆型,修改ellipse中‘material’方法重写自己的glsl来实现当前效果 1、示例源码 index.html <!DOCTYPE html> <html lang="en"><head><!<...

windows安装wsl2以及ubuntu
查看自己系统的版本 必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令 在设置,系统里面就能看到 开启windows功能 直接winQ搜 开启hyber-V、使用于Linux的Windows子系统、虚拟机平…...
音视频项目—基于FFmpeg和SDL的音视频播放器解析(十二)
介绍 在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…...
键鼠自动化2.0树形结构讲解
介绍 在键鼠自动化2.0中使用Qtc实现了全自定义树形结构,实现任务的拖拽,复制粘贴,撤销重做,以及包括树形结构增加序号展示,以及增加搜索功能 实现 1.自定义节点 // 自定义节点类 class TreeNode : public QObject …...

2023年【金属非金属矿山安全检查(地下矿山)】考试报名及金属非金属矿山安全检查(地下矿山)最新解析
题库来源:安全生产模拟考试一点通公众号小程序 金属非金属矿山安全检查(地下矿山)考试报名参考答案及金属非金属矿山安全检查(地下矿山)考试试题解析是安全生产模拟考试一点通题库老师及金属非金属矿山安全检查&#…...

Java 12 及Tomcat 部署配置
使用的软件版本 1. Java12部署 和之前的Java版本不太一样,12版本不用配置JRE环境。 解压缩文件夹 root账户执行 tar -xzvf /home/software/jdk-12.0.2_linux-x64_bin.tar.gz创建java文件夹 root账户执行 cd /usr mkdir java移动Java文件到创建的文件夹下 root账…...
pandas教程:Date Ranges, Frequencies, and Shifting 日期范围,频度,和位移
文章目录 11.3 Date Ranges, Frequencies, and Shifting(日期范围,频度,和位移)1 Generating Date Ranges(生成日期范围)2 Frequencies and Date Offsets(频度和日期偏移)Week of mo…...
设计模式 - 概览
一、概念 分为三大类、23中具体设计模式。 类型原理具体模式创建型封装了具体类的信息,隐藏了类的实例化过程。 单例模式(Singleton) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory…...
【Linux】Makefile
一、gcc 的缺点 gcc -o test a.c b.c我们具体分析:gcc -o test a.c b.c这条命令 它们要经过下面几个步骤: 1)对于a.c:执行:预处理 编译 汇编 的过程,a.c >xxx.s >xxx.o 文件。2)对于b.c…...
TS的函数如何定义类型
如何接受arguments参数 function add(...args: string[]) {let list4: IArguments arguments;}add(1, 2) 自定义一个args interface A1 {callee: Function,length: number,[index: number]: any}function adds(...args: string[]) {let list4: A1 arguments;}adds(1, 2) …...

xstream实现xml和java bean 互相转换
目录 pom引用java bean 类XML 转换工具类测试类执行结果注意问题 JAXB方式见: JAXB实现XML和Bean相互转换 Java中实现XML和Bean的转换的方式或插件有以下几种: JAXB(Java Architecture for XML Binding):JAXB是Java …...

斯坦福机器学习 Lecture1 (机器学习,监督学习、回归问题、分类问题定义)
https://www.bilibili.com/video/BV1JE411w7Ub?p1&vd_source7a1a0bc74158c6993c7355c5490fc600 笔记如下 机器学习的定义:不需要明确编程就能让计算机去学习做某件事情 另一个定义 什么是监督学习? 给定一组 (x,y) 样本,学习一个 x-&g…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...