Python3.11安装pyqt6-tools遇Metadata错误求解决
问题:Python 3.11安装pyqt6-tools时元数据生成失败
执行pip install pyqt6-tools命令时出现如下报错:
C:\Users\Alex>pip install pyqt6-tools Collecting pyqt6-tools Using cached pyqt6_tools-6.1.0.3.2-py3-none-any.whl (29 kB) Collecting click Using cached click-8.1.3-py3-none-any.whl (96 kB) Collecting pyqt6==6.1.0 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 ╰─> [33 lines of output] Traceback (most recent call last): File "C:\Users\Alex\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip_vendor\pep517\in_process_in_process.py", line 144, in prepare_metadata_for_build_wheel hook = backend.prepare_metadata_for_build_wheel ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\Alex\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 351, in main() File "C:\Users\Alex\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip_vendor\pep517\in_process_in_process.py", line 333, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Alex\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip_vendor\pep517\in_process_in_process.py", line 148, in prepare_metadata_for_build_wheel whl_basename = backend.build_wheel(metadata_directory, config_settings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-2mc4erbo\overlay\Lib\site-packages\sipbuild\api.py", line 46, in build_wheel project = AbstractProject.bootstrap('wheel', ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-2mc4erbo\overlay\Lib\site-packages\sipbuild\abstract_project.py", line 87, in bootstrap project.setup(pyproject, tool, tool_description) File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-2mc4erbo\overlay\Lib\site-packages\sipbuild\project.py", line 585, in setup self.apply_user_defaults(tool) File "C:\Users\Alex\AppData\Local\Temp\pip-install-m5ab_lv3\pyqt6_b00490afe1cb4b13bf5a1a49acc55f24\project.py", line 60, in apply_user_defaults super().apply_user_defaults(tool) File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-2mc4erbo\overlay\Lib\site-packages\pyqtbuild\project.py", line 70, in apply_user_defaults super().apply_user_defaults(tool) File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-2mc4erbo\overlay\Lib\site-packages\sipbuild\project.py", line 236, in apply_user_defaults self.builder.apply_user_defaults(tool) File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-2mc4erbo\overlay\Lib\site-packages\pyqtbuild\builder.py", line 69, in apply_user_defaults raise PyProjectOptionException('qmake', sipbuild.pyproject.PyProjectOptionException [end of output] note: 此错误源自子进程,大概率不是pip的问题。error: metadata-generation-failed × 生成包元数据时遇到错误。╰─> 查看上述输出获取详情。 note: 这是上述包的问题,与pip无关。 hint: 查看上述内容获取详情。
解决方法
清理旧依赖并安装兼容版本
旧版pyqt6-tools==6.1.0.3.2依赖的PyQt6==6.1.0不支持Python 3.11,先卸载残留包:pip uninstall -y pyqt6 pyqt6-tools sip pyqtbuild然后安装适配Python 3.11的最新版本:
pip install pyqt6-tools --upgrade指定兼容版本安装(可选)
如果直接升级仍有问题,可手动指定经过验证的兼容版本:pip install pyqt6==6.4.0 pyqt6-tools==6.4.0.3.2验证环境变量(兜底)
确保Qt的qmake工具已加入系统环境变量PATH,若未添加,可找到Qt安装目录下的bin文件夹(比如C:\Qt\6.4.0\msvc2019_64\bin),手动添加到系统PATH中。
报错原因说明
核心问题是版本不兼容:Python 3.11发布后,旧版PyQt6和sipbuild未适配其新特性,导致元数据生成过程中出现属性缺失和构建异常。升级到适配Python 3.11的新版本即可解决。
内容的提问来源于stack exchange,提问作者Fardin
相关产品推荐
相关产品推荐

