You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

M1 Mac执行pip3 install PyQt5时遭遇sip版本依赖不符合PEP 518规范的错误求助

解决M1 Mac上pip安装PyQt5的PEP 518依赖错误

这个问题的核心有两点:一是你尝试安装的PyQt5 5.14.0是非常老旧的版本,既没有适配M1的arm64架构,其pyproject.toml里的依赖声明格式也不符合新版pip遵循的PEP 518规范;二是M1芯片的架构特殊性,直接编译旧版本PyQt5会遇到更多兼容性问题。

下面是针对性的解决步骤:

  • 第一步:彻底升级pip、setuptools和wheel
    先确保你的包管理工具是最新状态,避免因工具版本旧导致的兼容问题:

    python3 -m pip install --upgrade pip setuptools wheel
    
  • 第二步:安装适配M1的PyQt5新版本
    放弃旧的5.14.0版本,直接安装支持arm64架构的PyQt5(从5.15.4版本开始官方提供了M1预编译轮子):

    python3 -m pip install PyQt5>=5.15.4
    

    如果你需要特定版本,只要是5.15.4及以上,都可以直接指定,比如PyQt5==5.15.9

  • 如果上述方法仍报错,尝试绕过构建隔离
    若还是遇到依赖声明的问题,可以用--no-build-isolation参数跳过pip的构建隔离机制,直接使用当前环境已有的依赖来构建:

    python3 -m pip install PyQt5 --no-build-isolation
    

    注意:使用这个参数前,最好先手动安装好兼容的sip版本(比如sip==5.5.0),避免构建时缺依赖:

    python3 -m pip install sip==5.5.0
    
  • 额外提醒
    你之前尝试安装PyQt3的操作完全没必要,PyQt3是十几年前的旧版本,和PyQt5没有任何兼容关系,只会混淆环境,建议用pip uninstall PyQt3清理掉。

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

火山引擎 最新活动