You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

arm64架构Ubuntu18.04使用pyenv pip安装PyQt5报错求助

适配环境
  • 硬件架构:arm64
  • 操作系统:Ubuntu 18.04
  • Python管理工具:pyenv
  • 触发场景:pip安装PyQt5时抛出错误 AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'
根因说明

该错误由三类问题共同触发:

  1. arm64架构下PyQt5官方未提供对应Ubuntu 18.04的预编译wheel包,pip默认从源码构建,依赖版本不匹配时直接报错
  2. 最新版sip构建工具移除了prepare_metadata_for_build_wheel接口,pip默认拉取最新sip构建时,和旧版PyQt5的构建逻辑不兼容
  3. 系统缺少Qt5编译依赖,源码构建过程中断也会抛出同类错误
解决步骤

方案1:固定依赖版本从源码构建(推荐pyenv隔离环境使用)

  1. 先安装系统层必备编译依赖:
sudo apt update
sudo apt install -y python3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libxcb-xinerama0 libgl1-mesa-glx build-essential
  1. 清理当前pyenv环境内残留的冲突包:
pip uninstall -y PyQt5 PyQt5-sip sip
  1. 固定安装兼容版本的构建依赖,关闭pip构建隔离避免自动拉取不兼容的新版sip:
pip install sip==6.5.1 PyQt5-sip==12.9.0
pip install --no-build-isolation PyQt5==5.15.6

注:Ubuntu 18.04系统glibc版本较低,pyenv内安装的Python版本建议选择3.7~3.9区间,3.10及以上版本会存在底层依赖兼容问题。安装全程不要加sudo,避免调用系统Python的pip导致包装错位置。

方案2:复用系统源预编译包(源码构建失败时使用)

Ubuntu 18.04官方源已经提供了arm64架构适配好的PyQt5包,直接安装后软链接到pyenv环境即可,无需手动编译:

  1. 安装系统源预编译的PyQt5:
sudo apt install -y python3-pyqt5 python3-sip
  1. 将系统安装的PyQt5、sip相关文件软链接到当前pyenv Python版本的site-packages目录:
PYVER=$(pyenv version-name | cut -d. -f1,2)
SITE_PACKAGES=~/.pyenv/versions/$(pyenv version-name)/lib/python${PYVER}/site-packages/
ln -s /usr/lib/python3/dist-packages/PyQt5 ${SITE_PACKAGES}
ln -s /usr/lib/python3/dist-packages/sip* ${SITE_PACKAGES}
  1. 执行python -c "import PyQt5; print(PyQt5.__version__)"验证,无报错即为安装成功。

内容的提问来源于stack exchange,提问作者sourab majhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 12:18:24