Mr.Hazyzhao 2023-12-04 23:21 采纳率: 90.9%
浏览 194

在ARM64架构上安装PyQt5相关库

问题描述:

无法在ARM64架构的NVIDIA Xavier NX板子上安装 PyQt5及其他Qt库。

主要有以下库:

PyQt5==5.15.9
PyQt5-Qt5==5.15.2
PyQt5-sip==12.12.2
PyQtWebEngine==5.15.6
PyQtWebEngine-Qt5==5.15.2

在conda创建的python 3.9.13中进行,

pip install pyqt5
Collecting pyqt5
  Using cached PyQt5-5.15.10.tar.gz (3.2 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
  ╰─> [23 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 "/home/user/anaconda3/envs/ppo_eval/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/user/anaconda3/envs/ppo_eval/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/user/anaconda3/envs/ppo_eval/lib/python3.9/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 "/tmp/pip-build-env-j9g6h5ov/overlay/lib/python3.9/site-packages/sipbuild/api.py", line 46, in build_wheel
          project = AbstractProject.bootstrap('wheel',
        File "/tmp/pip-build-env-j9g6h5ov/overlay/lib/python3.9/site-packages/sipbuild/abstract_project.py", line 87, in bootstrap
          project.setup(pyproject, tool, tool_description)
        File "/tmp/pip-build-env-j9g6h5ov/overlay/lib/python3.9/site-packages/sipbuild/project.py", line 587, in setup
          self.apply_user_defaults(tool)
        File "project.py", line 68, in apply_user_defaults
          super().apply_user_defaults(tool)
        File "/tmp/pip-build-env-j9g6h5ov/overlay/lib/python3.9/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
          super().apply_user_defaults(tool)
        File "/tmp/pip-build-env-j9g6h5ov/overlay/lib/python3.9/site-packages/sipbuild/project.py", line 237, in apply_user_defaults
          self.builder.apply_user_defaults(tool)
        File "/tmp/pip-build-env-j9g6h5ov/overlay/lib/python3.9/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.

参考第一条评论,

(ppo_eval) user@ubuntu:~$ pip3 install pyqt5 --config-settings --confirm-license= --verbose
Using pip 23.3.1 from /home/user/anaconda3/envs/ppo_eval/lib/python3.9/site-packages/pip (python 3.9)
Collecting pyqt5
  Using cached PyQt5-5.15.10.tar.gz (3.2 MB)
  Running command pip subprocess to install build dependencies
  Collecting sip<7,>=6.6.2
    Downloading sip-6.8.0-py3-none-any.whl.metadata (3.2 kB)
  Collecting PyQt-builder<2,>=1.14.1
    Downloading PyQt_builder-1.15.4-py3-none-any.whl.metadata (1.8 kB)
  Collecting packaging (from sip<7,>=6.6.2)
    Using cached packaging-23.2-py3-none-any.whl.metadata (3.2 kB)
  Collecting setuptools (from sip<7,>=6.6.2)
    Using cached setuptools-69.0.2-py3-none-any.whl.metadata (6.3 kB)
  Collecting tomli (from sip<7,>=6.6.2)
    Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
  Downloading sip-6.8.0-py3-none-any.whl (573 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 573.1/573.1 kB 627.4 kB/s eta 0:00:00
  Downloading PyQt_builder-1.15.4-py3-none-any.whl (3.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.7/3.7 MB 3.8 MB/s eta 0:00:00
  Using cached packaging-23.2-py3-none-any.whl (53 kB)
  Using cached setuptools-69.0.2-py3-none-any.whl (819 kB)
  Installing collected packages: tomli, setuptools, packaging, sip, PyQt-builder
  Successfully installed PyQt-builder-1.15.4 packaging-23.2 setuptools-69.0.2 sip-6.8.0 tomli-2.0.1
  Installing build dependencies ... done
  Running command Getting requirements to build wheel
  Getting requirements to build wheel ... done
  Running command Preparing metadata (pyproject.toml)
  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 "/home/user/anaconda3/envs/ppo_eval/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/home/user/anaconda3/envs/ppo_eval/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/home/user/anaconda3/envs/ppo_eval/lib/python3.9/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 "/tmp/pip-build-env-1puuxvr7/overlay/lib/python3.9/site-packages/sipbuild/api.py", line 46, in build_wheel
      project = AbstractProject.bootstrap('wheel',
    File "/tmp/pip-build-env-1puuxvr7/overlay/lib/python3.9/site-packages/sipbuild/abstract_project.py", line 87, in bootstrap
      project.setup(pyproject, tool, tool_description)
    File "/tmp/pip-build-env-1puuxvr7/overlay/lib/python3.9/site-packages/sipbuild/project.py", line 587, in setup
      self.apply_user_defaults(tool)
    File "project.py", line 68, in apply_user_defaults
      super().apply_user_defaults(tool)
    File "/tmp/pip-build-env-1puuxvr7/overlay/lib/python3.9/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
      super().apply_user_defaults(tool)
    File "/tmp/pip-build-env-1puuxvr7/overlay/lib/python3.9/site-packages/sipbuild/project.py", line 237, in apply_user_defaults
      self.builder.apply_user_defaults(tool)
    File "/tmp/pip-build-env-1puuxvr7/overlay/lib/python3.9/site-packages/pyqtbuild/builder.py", line 69, in apply_user_defaults
      raise PyProjectOptionException('qmake',
  sipbuild.pyproject.PyProjectOptionException
  error: subprocess-exited-with-error
  
  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: /home/user/anaconda3/envs/ppo_eval/bin/python /home/user/anaconda3/envs/ppo_eval/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpjc8puw98
  cwd: /tmp/pip-install-y0q6h9mr/pyqt5_2acc0729cc844cfd881145a3f11ba368
  Preparing metadata (pyproject.toml) ... error
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.

参考:

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-12-05 08:17
    关注

    【以下回答由 GPT 生成】

    这个错误是由于使用 pip 安装 PyQt5 时,预处理元数据时遇到了问题。可能产生错误的原因是 pyproject.toml 文件中的某些配置已经过时了。为了解决这个问题,可以尝试以下步骤:

    1. 确保你的 pip 版本是最新的。可以使用以下命令更新 pip:
    pip install --upgrade pip
    
    1. 在安装 PyQt5 之前,先确保已经安装了一些构建和依赖工具。运行以下命令来安装这些工具:
    sudo apt-get update
    sudo apt-get install build-essential
    sudo apt-get install libgl1-mesa-dev
    
    1. 确保你的 conda 环境已经激活,并且你正在使用正确的 Python 版本。可以运行以下命令来检查当前环境:
    conda activate <your_environment_name>
    python --version
    

    确保 Python 的版本是 3.9.13。

    1. 检查你的 pyproject.toml 文件,并根据错误信息中的建议进行修改。根据错误信息,你需要使用 '[project]' 替代 '[tool.sip.metadata]' 来指定项目元数据。打开 pyproject.toml 文件,将 '[tool.sip.metadata]' 修改为 '[project]'。保存文件后再次尝试安装 PyQt5。

    2. 如果以上步骤还没有解决问题,可以尝试升级 PyQt5 的依赖包 sip。运行以下命令来升级 sip:

    pip install --upgrade sip
    
    1. 最后,再次运行 pip install pyqt5 命令来安装 PyQt5。确保这次安装过程没有遇到错误。

    如果上述步骤都没有解决问题,说明可能存在其他的问题,可能需要更详细的错误信息来定位和解决问题。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 修改了问题 12月5日
  • 创建了问题 12月4日

悬赏问题

  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错
  • ¥15 拓扑学,凸集,紧集。。
  • ¥15 如何扩大AIS数据容量
  • ¥15 单纯型python实现编译报错