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

Mac下conda环境pip兼容标签过旧,如何更新?

问题描述
  • 通过conda create -n py39 python=3.9创建Python 3.9的conda环境后,执行pip install -i <custom index> my_package从自定义索引安装包失败,但Mac原生Python 3.9可成功安装
  • 查看pip install -vv -i <custom index> my_package日志发现,该conda环境的pip仅支持macosx_10_16这类旧兼容标签,无法匹配自定义索引中的cp39-cp39-macosx_11_0_universal2标签
  • 但在该conda环境中执行python3 -c "import packaging.tags; print(list(packaging.tags.sys_tags()))",能看到cp39-cp39-macosx_11_0_universal2标签,疑惑pip为何不识别
解决方法
  • 更新pip到最新版本
    conda环境默认安装的pip版本可能过旧,对新的macOS兼容标签支持不足,执行以下命令更新:
pip install --upgrade pip

更新完成后,用pip debug --verbose再次查看兼容标签列表,确认是否已包含目标标签。

  • 设置环境变量指定macOS部署版本
    如果更新pip后问题仍存在,可通过设置MACOSX_DEPLOYMENT_TARGET环境变量,让conda环境识别更高版本的macOS:

    • 若尚未创建环境,创建时指定:
      MACOSX_DEPLOYMENT_TARGET=11.0 conda create -n py39 python=3.9
      
    • 若环境已创建,激活环境后执行:
      export MACOSX_DEPLOYMENT_TARGET=11.0
      

    设置完成后重新尝试安装包。

  • 更新packaging依赖库
    pip的标签识别依赖packaging库,即使当前环境的packaging.tags能显示目标标签,pip依赖的packaging版本可能存在差异,执行以下命令更新:

pip install --upgrade packaging
  • 临时使用源码编译安装(可选)
    如果上述方法都无效,可强制pip从源码编译安装包(需确保环境有对应的编译依赖):
pip install -i <custom index> my_package --no-binary :all:

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 05:12:28