Python3.12安装PyQt5-tools遇Preparing metadata错误求解决方案
Python 3.12环境下安装PyQt5-tools的可行方案
问题背景
已通过pip install PyQt5完成PyQt5安装,执行pip install pyqt5-tools时出现如下错误:
Defaulting to user installation because normal site-packages is not writeable DEPRECATION: Loading egg at c:\program files\python312\lib\site-packages\vboxapi-1.0-py3.12.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation.. Discussion can be found at https://github.com/pypa/pip/issues/12330 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.1.7-py3-none-any.whl.metadata (3.0 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 ╰─> [25 lines of output] Traceback (most recent call last): File "C:\Users\ihabk\AppData\Roaming\Python\Python312\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module> main() File "C:\Users\ihabk\AppData\Roaming\Python\Python312\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\ihabk\AppData\Roaming\Python\Python312\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\ihabk\AppData\Local\Temp\pip-build-env-yl4i5kg6\overlay\Lib\site-packages\sipbuild\api.py", line 46, in build_wheel project = AbstractProject.bootstrap('wheel', ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\ihabk\AppData\Local\Temp\pip-build-env-yl4i5kg6\overlay\Lib\site-packages\sipbuild\abstract_project.py", line 87, in bootstrap project.setup(pyproject, tool, tool_description) File "C:\Users\ihabk\AppData\Local\Temp\pip-build-env-yl4i5kg6\overlay\Lib\site-packages\sipbuild\project.py", line 586, in setup self.apply_user_defaults(tool) File "C:\Users\ihabk\AppData\Local\Temp\pip-install-yi_tz1v2\pyqt5_ed929b1887ec44d3ab4ffb88ed4a6082\project.py", line 63, in apply_user_defaults super().apply_user_defaults(tool) File "C:\Users\ihabk\AppData\Local\Temp\pip-build-env-yl4i5kg6\overlay\Lib\site-packages\pyqtbuild\project.py", line 70, in apply_user_defaults super().apply_user_defaults(tool) File "C:\Users\ihabk\AppData\Local\Temp\pip-build-env-yl4i5kg6\overlay\Lib\site-packages\sipbuild\project.py", line 237, in apply_user_defaults self.builder.apply_user_defaults(tool) File "C:\Users\ihabk\AppData\Local\Temp\pip-build-env-yl4i5kg6\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.
常见方案为降级Python至3.9,以下是Python 3.12环境下的可行解决办法:
替代方案:安装独立的PyQt5-Designer包
PyQt5-tools核心包含Qt Designer、pyrcc5等工具,可直接安装官方维护的独立包替代:pip install pyqt5-designer安装完成后,直接在命令行执行
designer即可启动设计工具,无需依赖pyqt5-tools。指定兼容版本组合安装
查找适配Python 3.12的PyQt5与PyQt5-tools版本匹配组合,尝试安装指定版本:pip install pyqt5==5.15.10 pyqt5-tools==5.15.10.3.4注:该版本组合已适配Python 3.12,若仍有问题可查看PyPI上的最新兼容版本信息。
使用conda安装(推荐)
通过conda的conda-forge频道获取适配Python 3.12的预编译包,避免编译错误:conda install -c conda-forge pyqt5-tools
内容的提问来源于stack exchange,提问作者Ihab Khelifa
相关产品推荐
相关产品推荐

