LDA*_*LDA 3 python installation pip package pyqt5
我已经尝试了一百万种不同的方法来安装 PyQt5,但我不断收到相同的错误消息。我尝试在Python虚拟环境中安装它,但仍然没有成功。我尝试下载 Qt 以查看是否缺少任何依赖项,但它没有解决问题。我尝试过更新pip、使用Homebrew、下载源码等很多方法,但还是无法安装。我正在 MacOS 上工作。
\n这是我尝试过的示例:
\n(env) firstLast@name-MacBook-Pro project % pip install pyqt5 \n \nCollecting pyqt5\n Using cached PyQt5-5.15.9.tar.gz (3.2 MB)\n Installing build dependencies ... done\n Getting requirements to build wheel ... done\n Preparing metadata (pyproject.toml) ... error\n error: subprocess-exited-with-error\n \n \xc3\x97 Preparing metadata (pyproject.toml) did not run successfully.\n \xe2\x94\x82 exit code: 1\n \xe2\x95\xb0\xe2\x94\x80> [20 lines of output]\n Querying qmake about your Qt installation...\n Traceback (most recent call last):\n File "/Users/name/Documents/final_project/tfod/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>\n main()\n File "/Users/name/Documents/final_project/tfod/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main\n json_out[\'return_val\'] = hook(**hook_input[\'kwargs\'])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Users/name/Documents/final_project/tfod/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 152, in prepare_metadata_for_build_wheel\n whl_basename = backend.build_wheel(metadata_directory, config_settings)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/private/var/folders/ky/630000/T/pip-build-env-129w2sdq/overlay/lib/python3.11/site-packages/sipbuild/api.py", line 46, in build_wheel\n project = AbstractProject.bootstrap(\'wheel\',\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/private/var/folders/ky/630000/T/pip-build-env-129w2sdq/overlay/lib/python3.11/site-packages/sipbuild/abstract_project.py", line 87, in bootstrap\n project.setup(pyproject, tool, tool_description)\n File "/private/var/folders/ky/630000/T/pip-build-env-129w2sdq/overlay/lib/python3.11/site-packages/sipbuild/project.py", line 602, in setup\n self.update(tool)\n File "/private/var/folders/ky/630000/T/pip-install-blf1r8si/pyqt5_7df68330104f4a9dbfac80220bfcd894/project.py", line 165, in update\n raise UserException(\n sipbuild.exceptions.UserException\n [end of output]\n \n note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: metadata-generation-failed\n\n\xc3\x97 Encountered error while generating package metadata.\n\xe2\x95\xb0\xe2\x94\x80> See above for output.\n\nnote: This is an issue with the package mentioned above, not pip.\nhint: See above for details.\n
Run Code Online (Sandbox Code Playgroud)\n
在 macOS 上,尝试安装 PyQt5 时存在一个已知问题,该问题需要在系统上安装 Qt5,并将其qmake
工具添加到系统的 PATH 中,如PyPI 页面的安装部分所示。
要安装Qt5,您可以在终端中运行以下命令:
brew install qt5
Run Code Online (Sandbox Code Playgroud)
安装后,您需要找到qmake
工具路径,通常可以在此处找到:/usr/local/opt/qt/bin/qmake
。要将此路径添加到系统的 PATH,您需要.bash_profile
通过键入以下内容在终端中打开该文件:
nano ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
然后,将以下行添加到文件末尾:
export PATH="/usr/local/opt/qt/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
这会将安装目录添加qmake
到系统的 PATH 中。Ctrl按+ X、 、YEnter保存并关闭文件。要将更改应用到当前会话,请运行以下命令:
source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
您可以qmake
通过运行以下命令来验证它现在是否位于 PATH 上:
which qmake
Run Code Online (Sandbox Code Playgroud)
这应该可以解决问题并允许您安装 PyQt5。
M1芯片于2020年11月推出,基于ARMv8.5架构,与基于Intel的Mac电脑使用的x86_64架构不同。因此,必须编译 PyQt 等应用程序以包含 ARM 兼容的二进制文件才能在 M1 芯片上运行。为了解决这个问题,Qt 团队开发了与 Intel 和Apple Silicon硬件兼容的通用二进制文件。
但是,这些通用二进制文件仅在 6.2 及更高版本中可用。可以通过运行以下命令来确认:
aviolaris@arch:~$ curl -s https://pypi.org/pypi/PyQt5/json | jq -r '.releases | to_entries[] | .value[] | select(.filename | contains("universal")) | .url | split("/") | .[-1]'
aviolaris@arch:~$ curl -s https://pypi.org/pypi/PyQt6/json | jq -r '.releases | to_entries[] | .value[] | select(.filename | contains("universal")) | .url | split("/") | .[-1]'
PyQt6-6.2.0-cp36-abi3-macosx_10_14_universal2.whl
PyQt6-6.2.1-cp36-abi3-macosx_10_14_universal2.whl
PyQt6-6.2.2-cp36-abi3-macosx_10_14_universal2.whl
PyQt6-6.2.3-cp36-abi3-macosx_10_14_universal2.whl
PyQt6-6.3.0-cp37-abi3-macosx_10_14_universal2.whl
PyQt6-6.3.1-cp37-abi3-macosx_10_14_universal2.whl
PyQt6-6.4.0-cp37-abi3-macosx_10_14_universal2.whl
PyQt6-6.4.1-cp37-abi3-macosx_10_14_universal2.whl
PyQt6-6.4.2-cp37-abi3-macosx_10_14_universal2.whl
PyQt6-6.5.0-1-cp37-abi3-macosx_10_14_universal2.whl
PyQt6-6.5.0-cp37-abi3-macosx_10_14_universal2.whl
Run Code Online (Sandbox Code Playgroud)
话虽这么说,如果您明确不想使用与您的系统架构兼容的 PyQt6,开箱即用,您可以尝试使用Rosetta安装 PyQt5 ,Rosetta 是一个内置模拟器,使您能够在基于 ARM 的 Mac 计算机。
使用罗塞塔:
arch
以验证它现在是否显示“x86_64”。完成这些步骤后,您将能够通过键入相关的 pip 命令在Terminal_x86_64应用程序中安装 PyQt5。
归档时间: |
|
查看次数: |
2394 次 |
最近记录: |