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. 全程不用配置任何编译环境,零报错
相关推荐
得闲喝茶1 小时前
JavaScript在数据处理的应用
开发语言·前端·javascript·经验分享·笔记
O&REO1 小时前
哈尔滨工业大学 837 网安自命题开源资料+笔记+经验贴
笔记
晓梦林1 小时前
Qingmei靶场学习笔记
笔记·学习·安全·web安全
SilentSamsara1 小时前
生成器进阶:`yield from`、协程历史与双向通信
开发语言·python·青少年编程·pycharm
kdxiaojie1 小时前
U-Boot分析【学习笔记】(6)
linux·笔记·学习
armwind1 小时前
这6年的小感悟-重新记录自己
笔记
晓梦林2 小时前
Commit靶场学习笔记
笔记·学习·安全·web安全
sheeta19982 小时前
LeetCode 每日一题笔记 日期:2026.05.10 题目:2770. 达到末尾下标所需的最大跳跃次数
笔记·算法·leetcode
LeeeX!2 小时前
OpenClaw CLI 完整实操笔记
笔记·openclaw