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

macOS BigSur下poetry安装依赖报CPython2macOsArmFramework属性错误

问题根因

该报错由两个问题共同触发:

  • 环境内virtualenv版本过低,未适配Apple Silicon(ARM架构)macOS的CPython框架识别逻辑,缺失CPython2macOsArmFramework类定义
  • pyenv多版本路径混乱:当前pyenv默认指向Python 3.8.6,但报错栈加载的是Python 3.8.2路径下的依赖文件,poetry实际调用的解释器和预期环境不一致
排查步骤
  • 执行arch确认终端运行架构,区分是原生arm64还是Rosetta转译的x86_64环境
  • 执行poetry env info查看poetry绑定的Python解释器路径,确认是否存在版本串用
  • 执行pip show virtualenv查看virtualenv版本,版本低于20.4.0即为未适配ARM架构的旧版本
解决方案

按优先级依次尝试:

  1. 升级依赖修复版本兼容问题
# 升级pip到最新版
pip install --upgrade pip
# 升级virtualenv到适配ARM架构的稳定版
pip install --upgrade virtualenv
# 删除已生成的损坏虚拟环境
poetry env remove python3.8
# 重新创建环境安装依赖
poetry shell && poetry install
  1. 修复pyenv路径混乱问题
# 固定全局Python版本为已安装的3.8.6
pyenv global 3.8.6
# 刷新pyenv路径缓存
pyenv rehash

执行完成后重开终端,再重试安装命令。
3. 重装poetry(上述步骤无效时使用)

# 卸载旧版poetry
pip uninstall poetry -y
# 安装最新稳定版poetry
pip install poetry

安装完成后重载shell配置即可正常使用。
4. 临时绕过方案(不想重装依赖时使用)
打开报错路径对应的mac_os.py文件:
~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/mac_os.py
在文件末尾添加两行映射代码:

CPython2macOsArmFramework = CPython2macOsFramework
CPython3macOsArmFramework = CPython3macOsFramework

保存后重新执行安装命令即可,该方案为临时兼容手段,长期使用建议优先选择升级依赖的方案。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 18:54:28