PyCharm配置PyQt5安装报错详情笔记

报错信息:

html 复制代码
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting PyQt5-tools
  Using cached pyqt5_tools-5.15.9.3.3-py3-none-any.whl (29 kB)
Collecting click (from PyQt5-tools)
  Using cached click-8.3.3-py3-none-any.whl (110 kB)
Collecting pyqt5==5.15.9 (from PyQt5-tools)
  Using cached PyQt5-5.15.9-cp37-abi3-win_amd64.whl (6.8 MB)
INFO: pip is looking at multiple versions of pyqt5-tools to determine which version is compatible with other requirements. This could take a while.
Collecting PyQt5-tools
  Using cached pyqt5_tools-5.15.4.3.2-py3-none-any.whl (29 kB)
Collecting pyqt5==5.15.4 (from PyQt5-tools)
  Using cached PyQt5-5.15.4.tar.gz (3.3 MB)
  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
  ╰─> [32 lines of output]
      pyproject.toml: line 7: using '[tool.sip.metadata]' to specify the project metadata is deprecated and will be removed in SIP v7.0.0, use '[project]' instead
      Traceback (most recent call last):
        File "E:\Anconda3\envs\training\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 389, in <module>
          main()
          ~~~~^^
        File "E:\Anconda3\envs\training\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        File "E:\Anconda3\envs\training\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 178, in prepare_metadata_for_build_wheel
          whl_basename = backend.build_wheel(metadata_directory, config_settings)
        File "C:\Users\zjl15\AppData\Local\Temp\pip-build-env-66zoo0xx\overlay\Lib\site-packages\sipbuild\api.py", line 28, in build_wheel
          project = AbstractProject.bootstrap('wheel',
                  arguments=_convert_config_settings(config_settings))
        File "C:\Users\zjl15\AppData\Local\Temp\pip-build-env-66zoo0xx\overlay\Lib\site-packages\sipbuild\abstract_project.py", line 74, in bootstrap
          project.setup(pyproject, tool, tool_description)
          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\zjl15\AppData\Local\Temp\pip-build-env-66zoo0xx\overlay\Lib\site-packages\sipbuild\project.py", line 661, in setup
          self.apply_user_defaults(tool)
          ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
        File "C:\Users\zjl15\AppData\Local\Temp\pip-install-72xcqmnl\pyqt5_b067f208e893443fa5ead66de6f0ac2c\project.py", line 63, in apply_user_defaults
          super().apply_user_defaults(tool)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
        File "C:\Users\zjl15\AppData\Local\Temp\pip-build-env-66zoo0xx\overlay\Lib\site-packages\pyqtbuild\project.py", line 51, in apply_user_defaults
          super().apply_user_defaults(tool)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
        File "C:\Users\zjl15\AppData\Local\Temp\pip-build-env-66zoo0xx\overlay\Lib\site-packages\sipbuild\project.py", line 248, in apply_user_defaults
          self.builder.apply_user_defaults(tool)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
        File "C:\Users\zjl15\AppData\Local\Temp\pip-build-env-66zoo0xx\overlay\Lib\site-packages\pyqtbuild\builder.py", line 49, in apply_user_defaults
          raise PyProjectOptionException('qmake',
                  "specify a working qmake or add it to PATH")
      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.
╰─> pyqt5

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

一、安装环境及操作背景

  1. 镜像源:使用阿里云PyPI镜像(https://mirrors.aliyun.com/pypi/simple/)

  2. 安装目标:PyQt5-tools

  3. 运行环境:Anaconda虚拟环境(路径:E:\Anconda3\envs\training)

二、安装过程及报错概况

  1. 初始尝试安装PyQt5-tools==5.15.9.3.3,依赖PyQt5==5.15.9,pip自动检测兼容性后,降级尝试安装PyQt5-tools==5.15.4.3.2,对应依赖PyQt5==5.15.4。

  2. 报错核心:安装PyQt5==5.15.4时,准备元数据(pyproject.toml)失败,属于包本身兼容性问题,非pip工具问题。

三、关键报错信息(核心重点)

1. 弃用提示(警告)

pyproject.toml: line 7: using 'tool.sip.metadata' to specify the project metadata is deprecated and will be removed in SIP v7.0.0, use 'project' instead

说明:SIP工具版本不兼容,PyQt5==5.15.4使用的配置方式(tool.sip.metadata)已被弃用,将在SIP v7.0.0中移除,需改用project配置。

2. 核心错误(异常)

报错类型:sipbuild.pyproject.PyProjectOptionException

报错信息:specify a working qmake or add it to PATH

说明:缺少qmake工具,或qmake未添加到系统环境变量中,导致PyQt5编译(准备元数据)失败。

3. 报错总结提示

× Encountered error while generating package metadata. ╰─> pyqt5

note: This is an issue with the package mentioned above, not pip.(问题出在PyQt5包本身,非pip工具)

四、完整报错日志

Looking in indexes: https://mirrors.aliyun.com/pypi/simple/

Collecting PyQt5-tools

Using cached pyqt5_tools-5.15.9.3.3-py3-none-any.whl (29 kB)

Collecting click (from PyQt5-tools)

Using cached click-8.3.3-py3-none-any.whl (110 kB)

Collecting pyqt5==5.15.9 (from PyQt5-tools)

Using cached PyQt5-5.15.9-cp37-abi3-win_amd64.whl (6.8 MB)

INFO: pip is looking at multiple versions of pyqt5-tools to determine which version is compatible with other requirements. This could take a while.

Collecting PyQt5-tools

Using cached pyqt5_tools-5.15.4.3.2-py3-none-any.whl (29 kB)

Collecting pyqt5==5.15.4 (from PyQt5-tools)

Using cached PyQt5-5.15.4.tar.gz (3.3 MB)

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

╰─> 32 lines of output

pyproject.toml: line 7: using 'tool.sip.metadata' to specify the project metadata is deprecated and will be removed in SIP v7.0.0, use 'project' instead

Traceback (most recent call last):

File "E:\Anconda3\envs\training\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 389, in <module>

main()

~~~~^^

File "E:\Anconda3\envs\training\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 373, in main

json_out"return_val" = hook(**hook_input"kwargs")

~~~~^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\Anconda3\envs\training\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 178, in prepare_metadata_for_build_wheel

whl_basename = backend.build_wheel(metadata_directory, config_settings)

File "C:\Users\zjl15\AppData\Local\Temp\pip-build-env-66zoo0xx\overlay\Lib\site-packages\sipbuild\api.py", line 28, in build_wheel

project = AbstractProject.bootstrap('wheel', arguments=_convert_config_settings(config_settings))

File "C:\Users\zjl15\AppData\Local\Temp\pip-build-env-66zoo0xx\overlay\Lib\site-packages\sipbuild\abstract_project.py", line 74, in bootstrap

project.setup(pyproject, tool, tool_description)

~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\zjl15\AppData\Local\Temp\pip-build-env-66zoo0xx\overlay\Lib\site-packages\sipbuild\project.py", line 661, in setup

self.apply_user_defaults(tool)

~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^

File "C:\Users\zjl15\AppData\Local\Temp\pip-install-72xcqmnl\pyqt5_b067f208e893443fa5ead66de6f0ac2c\project.py", line 63, in apply_user_defaults

super().apply_user_defaults(tool)

~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^

File "C:\Users\zjl15\AppData\Local\Temp\pip-build-env-66zoo0xx\overlay\Lib\site-packages\pyqtbuild\project.py", line 51, in apply_user_defaults

super().apply_user_defaults(tool)

~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^

File "C:\Users\zjl15\AppData\Local\Temp\pip-build-env-66zoo0xx\overlay\Lib\site-packages\sipbuild\project.py", line 248, in apply_user_defaults

self.builder.apply_user_defaults(tool)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^

File "C:\Users\zjl15\AppData\Local\Temp\pip-build-env-66zoo0xx\overlay\Lib\site-packages\pyqtbuild\builder.py", line 49, in apply_user_defaults

raise PyProjectOptionException('qmake', "specify a working qmake or add it to PATH")

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.

╰─> pyqt5

note: This is an issue with the package mentioned above, not pip.

hint: See above for details.

解决方案:

Anaconda 虚拟环境 里安装 PyQt5-tools 失败了,核心原因是:直接用 pip 装老版本 PyQt5 需要编译环境(qmake),你的电脑没有配置,所以报错

最简单、100% 成功的解决方法

在 Anaconda 里用 conda 安装 PyQt5,不要用 pip!

步骤 1:激活你的虚拟环境

先打开 Anaconda Prompt,运行:

复制代码
conda activate training

步骤 2:用 conda 安装 PyQt5(自动带工具)

复制代码
conda install pyqt

回车确认(输入 y),这一步会自动安装完整可用的 PyQt5 + 设计器。

步骤 3:安装 PyQt5-tools(可选,只装设计器)

复制代码
pip install pyqt5-tools

现在就不会报错了!


如果你只想快速打开 Qt 设计器

安装完成后,直接在终端运行这个命令就能打开可视化界面设计工具:

复制代码
designer

为什么之前报错?

  1. pip install PyQt5-tools 会强制安装需要编译的老版本 PyQt5
  2. 你的 Windows 没有配置 qmake 编译环境,所以安装失败
  3. conda 安装 PyQt5 是预编译好的,完全不用配置环境

总结

  1. 别用 pip 装 PyQt5 ,在 Anaconda 里用 conda install pyqt
  2. 激活环境 → conda 安装 → 直接运行 designer 即可
  3. 全程不用配置任何编译环境,零报错
相关推荐
xcyxiner7 小时前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner1 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner1 天前
DicomViewer (添加模型类)3
qt
xcyxiner2 天前
DicomViewer (目录调整) 2
qt
xcyxiner2 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
闪闪发亮的小星星4 天前
高斯光以及高斯光公式解释
笔记
桥田智能4 天前
桥田智能 QT-650S:面向白车身焊装的 800kg 重载快换解决方案
开发语言·qt·系统架构
cqbzcsq4 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
森G4 天前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt
阿米亚波4 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm