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




