Windows11 python3.12 安装pyqt6 pyqt6-tools

Windows11 python3.12 安装pyqt6比较容易,但pyqt6-tools一直安装不上去。出错信息如下:

(venv) PS D:\python_project\pyqt6>  pip install pyqt6-tools
Collecting pyqt6-tools
  Using 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-tools
  Using 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-tools
  Using 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 ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: 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 main
          json_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_wheel
          whl_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_wheel
          project = 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 bootstrap
          project.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 setup
          self.apply_user_defaults(tool)
        File "C:\Users\Administrator\AppData\Local\Temp\pip-install-ehu53r9y\pyqt6_4b804778e8fb47789f82404b20ec89f5\project.py", line 60, in apply_user_defaults
          super().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_defaults
          super().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_defaults
          self.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_defaults
          raise 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:00
  Downloading 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:00
  Using 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-plugins
  Attempting uninstall: pyqt6-qt6
    Found existing installation: PyQt6-Qt6 6.6.0
    Uninstalling PyQt6-Qt6-6.6.0:
      Successfully uninstalled PyQt6-Qt6-6.6.0
  Attempting uninstall: pyqt6
    Found existing installation: PyQt6 6.6.0
    Uninstalling 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 uic


class 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() instead
  window = UI()
libpng warning: iCCP: cHRM chunk does not match sRGB

使用很多教程里面的,都是出现上面这样的错误。

终于找到一个可以正常运行的:

from PyQt6 import uic
from PyQt6.QtWidgets import QApplication

Form, 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《少儿编程启蒙指南》

《少儿编程启蒙指南》大纲 本文详细阐述少儿编程启蒙&#xff0c;如果有人喜欢&#xff0c;往后我会继续更新迭代此文。 “Everyone should know how to program a computer, because it teaches you how to think.”—Steve Jobs 每个人都应该知道如何编程&#xff0c;因为它…

杭州信息安全

更轻量级的用户开销 (Lower online burden) 更灵活的通信模型 (Flexible metadata-private messaging) 一对一通信 >多对一、一对多通信 Group messaging Broadcast / anycast 元数据隐私保护技术在其他系统的推广

RocketMQ(二):原生API快速入门

RocketMQ系列文章 RocketMQ(一)&#xff1a;基本概念和环境搭建 RocketMQ(二)&#xff1a;原生API快速入门 目录 一、RocketMQ快速入门1、生产者发送消息2、消费者接受消息3、代理者位点和消费者位点 二、消费模型特点1、同一个消费组的不同消费者&#xff0c;订阅主题必须相…

Python每日一练@前言

Python每日一练前言 导读 人生苦短&#xff0c;我用Python 大家好&#xff0c;我是鹅不糊涂 欢迎大家来到Python每日一练 好处 加强编程能力: 每日一练可以帮助提升编程技能&#xff0c;通过解决各种编程问题和挑战&#xff0c;你能够不断锻炼自己的逻辑思维和解决问题的能力…

不允许你还没有了解哈希表、哈希桶、哈希冲突的解决,如何避免冲突

✏️✏️✏️今天给各位带来的是哈希桶、哈希冲突方面的知识。 清风的CSDN博客 &#x1f61b;&#x1f61b;&#x1f61b;希望我的文章能对你有所帮助&#xff0c;有不足的地方还请各位看官多多指教&#xff0c;大家一起学习交流&#xff01; 动动你们发财的小手&#xff0c;点…

实用篇-ES-DSL查询文档

数据的存储不是目的&#xff0c;我们希望从海量的酒店数据中检索出需要的信息&#xff0c;这就是ES的搜索功能 官方文档: https://elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html#query-dsl。DSL是用来查询文档的 Elasticsearch提供了基于JSON的DSL来定…

vite vue3配置eslint和prettier以及sass

准备 教程 安装eslint 官网 vue-eslint ts-eslint 安装eslint yarn add eslint -D生成配置文件 npx eslint --init安装其他插件 yarn add -D eslint-plugin-import eslint-plugin-vue eslint-plugin-node eslint-plugin-prettier eslint-config-prettier eslint-plugin…

【数据结构】图的存储结构及实现(邻接表和十字链表)

一.邻接矩阵的空间复杂度 假设图G有n个顶点e条边&#xff0c;则存储该图需要O&#xff08;n^2) 不适用稀疏图的存储 二.邻接表 1.邻接表的存储思想&#xff1a; 对于图的每个顶点vi&#xff0c;将所有邻接于vi的顶点链成一个单链表&#xff0c;称为顶点vi的边表&#xff08…

C/C++ 运用VMI接口查询系统信息

Windows Management Instrumentation&#xff08;WMI&#xff09;是一种用于管理和监视Windows操作系统的框架。它为开发人员、系统管理员和自动化工具提供了一种标准的接口&#xff0c;通过这个接口&#xff0c;可以获取有关计算机系统硬件、操作系统和应用程序的信息&#xf…

PS学习笔记——新建文档/修改文档

文章目录 新建文档文档属性像素/分辨率颜色模式背景内容高级选项存储预设 修改文档 新建文档 方法一&#xff1a;ctrlN快捷键可直接打开新建文档界面 方法二&#xff1a;点击菜单栏中 文件->新建&#xff0c;即可打开新建文档界面 文档参数可按需调节(标题可以提前设定或者…

face_recognition:高准确率、简单易用的人脸识别库 | 开源日报 No.79

ageitgey/face_recognition Stars: 49.8k License: MIT 这个项目是一个使用 Python 编写的人脸识别库&#xff0c;可以从图片中识别和操作人脸。它基于 dlib 开发&#xff0c;并采用深度学习技术构建了最先进的人脸识别模型&#xff0c;在 Labeled Faces in the Wild 数据集上…

Redis(消息队列Stream)

Stream是一个轻量级的消息队列。 Redis中Stream的作用是提供一种高效的消息传递机制&#xff0c;允许多个消费者并行地消费消息&#xff0c;并且不会重复消费已经处理过的消息。它可以用于实现分布式任务队列、日志收集、实时数据处理等场景。Redis中的Stream支持多个消费者组…

Python数据分析实战① Python实现数据可视化

文章目录 一、数据可视化介绍二、matplotlib和pandas画图1.matplotlib简介和简单使用2.matplotlib常见作图类型3.使用pandas画图4.pandas中绘图与matplotlib结合使用 三、订单数据分析展示四、Titanic灾难数据分析显示 一、数据可视化介绍 数据可视化是指将数据放在可视环境中…

6.2 List和Set接口

1. List接口 List接口继承自Collection接口&#xff0c;List接口实例中允许存储重复的元素&#xff0c;所有的元素以线性方式进行存储。在程序中可以通过索引访问List接口实例中存储的元素。另外&#xff0c;List接口实例中存储的元素是有序的&#xff0c;即元素的存入顺序和取…

【Linux网络编程】高级I/O

目录 五种I/O模型 阻塞和非阻塞 非阻塞I/O I/O多路复用之Select、Poll、与Epoll 本文目的是深入浅出理解高级I/O相关的知识&#xff0c;结尾附上代码加深理解相关知识。 五种I/O模型 1.阻塞I/O&#xff1a;在内核将数据准备好之前&#xff0c;系统调用会一直等待。所有的套…

【踩坑笔记】国科GK7202V300芯片开发常见问题解决办法

国科Linux芯片开发常见问题&解决办法 0.读前须知 不管什么时候&#xff0c;下载程序还是啥&#xff0c;一定要检查路径&#xff01;&#xff01;&#xff01;别问我为什么&#xff0c;呜呜呜~ tips&#xff1a;该芯片是仿造海思的产品&#xff0c;所以&#xff0c;有些不…

cp: can‘t stat ‘/usr/share/zoneinfo/Asia/Shanghai‘: No such file or directory

目录 问题描述问题分析解决方案容器时区验证 问题描述 使用下面的 Dockerfile 为 youlai-boot 项目制作镜像设置容器时区报错。 # 基础镜像 FROM openjdk:17-jdk-alpine # 时区修改 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo Asia/Sha…

【每周一测】Java阶段三阶段考试

目录 1、SpringBoot在整合RabbitMQ时需要导入的包是 2、下列关于RabbitMQ的confirm消息确认机制解释说明正确的是 3、关于SpringBoot的配置文件&#xff0c;以下说法正确的是&#xff08;&#xff09; 4、变量命名规范说法正确的是? 5、哪个关键字可以对对象加互斥锁&…

计算机视觉的应用18-一键抠图人像与更换背景的项目应用,可扩展批量抠图与背景替换

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用18-一键抠图人像与更换背景的项目应用&#xff0c;可扩展批量抠图与背景替换。该项目能够让你轻松地处理和编辑图片。这个项目的核心功能是一键抠图和更换背景。这个项目能够自动识别图片中的主体&…

医院绩效考核系统源码 医院绩效考核系统方案

医院绩效考核系统源码 医院绩效考核系统是现代医院管理的重要方法和科学的管理工具。良好的绩效管理&#xff0c;有助于带动全院职工的工作积极性&#xff0c;有助于提高工作效率、提高医疗质量、改善服务水平、降低运营成本&#xff0c;全面提升医院的精细化管理水平。 医院绩…