error: subprocess-exited-with-error × Preparing metadata (pyproject.toml) did no...

2026年01月22日 20:26 状态: processing

🚨 错误信息

Collecting PyQt6 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/96/03/e756f52e8b0d7bb5527baf8c46d59af0746391943bdb8655acba22ee4168/pyqt6-6.10.2.tar.gz (1.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 5.8 MB/s 0:00:00 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.error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> PyQt6

🤖 AI解决方案

PyQt6 安装报错分析

错误翻译


原文:Preparing metadata (pyproject.toml) ... error
译文:准备元数据(pyproject.toml)时出现错误


原文:Encountered error while generating package metadata. ╰─> PyQt6
译文:生成包元数据时遇到错误。 ╰─> PyQt6

2.分析

这是安装 PyQt6 时遇到的常见问题,主要原因包括:

  • 缺少编译依赖:PyQt6 是绑定 Qt 框架的 Python 库,安装时需要 C++ 编译器和其他开发工具

  • 环境配置问题:可能缺少必要的开发库(如 Qt6 开发包)

  • 包管理问题:从源码构建时,pip 无法正确生成元数据
  • 错误发生在 pip 尝试从源码包构建 PyQt6 的元数据阶段。

    解决方案

    方案一:使用预编译的二进制包(推荐)

    bash

    对于 Windows 用户


    pip install PyQt6 --only-binary PyQt6

    或者从指定源安装预编译版本


    pip install PyQt6 -i https://pypi.tuna.tsinghua.edu.cn/simple/

    方案二:安装必要的编译依赖

    Ubuntu/Debian 系统:

    bash
    sudo apt-get update
    sudo apt-get install -y python3-dev build-essential
    sudo apt-get install -y libgl1-mesa-dev libxcb-xinerama0-dev

    macOS 系统:

    bash
    brew install pkg-config
    brew install qt@6

    Windows 系统:
    安装 Microsoft C++ Build Tools:

  • 下载地址:https://visualstudio.microsoft.com/visual-cpp-build-tools/
  • 方案三:尝试其他安装方式


    bash

    使用 conda(如果有 Anaconda/Miniconda)


    conda install pyqt -c conda-forge

    或者直接安装 wheel 文件


    先查看支持的平台和版本:https://pypi.org/project/PyQt6/#files


    4.措施

  • 优先使用二进制包:对于需要编译的复杂包(如 PyQt、scipy、numpy),尽量使用预编译的 wheel 文件:

  • bash
    pip install --only-binary :all: 包名

  • 配置合适的安装源:国内用户可以使用国内镜像源,这些源通常提供更多预编译包:

  • bash
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

  • 检查系统环境:在安装大型包前,确保系统已安装必要的编译工具和依赖库。
  • 注意:如果以上方案都不能解决问题,可以考虑使用 PyQt5(相对更稳定)或改用其他 GUI 库如 Tkinter、wxPython 作为临时替代方案。