Mac M2执行conda build遇AttributeError:conda.base.context无get_prefix属性
解决Mac M2上conda build报错
AttributeError: module 'conda.base.context' has no attribute 'get_prefix' 可行解决方案
1. 新建独立的conda构建环境
主环境的包依赖冲突是常见诱因,创建专门用于构建的环境:
# 创建环境,指定python版本(推荐3.9-3.11) conda create -n conda_build_env conda-build python=3.10 # 激活环境 conda activate conda_build_env # 进入包目录重新执行构建 conda build .
2. 安装兼容版本的conda和conda-build
部分版本组合存在API不兼容问题,指定经过验证的兼容版本:
# 先卸载现有版本 conda remove --force conda-build conda # 安装兼容版本组合(示例版本,可根据实际调整) conda install conda=23.10.0 conda-build=3.26.1
3. 修正conda channel优先级
channel优先级设置不当可能导致拉取到不兼容的包版本:
# 设置严格的channel优先级 conda config --set channel_priority strict # 重新安装conda-build conda install conda-build
4. 确认conda适配M2的arm64架构
如果使用的是x86_64版本的conda,可能出现架构兼容问题:
# 查看当前conda平台架构 conda info | grep platform
若输出不是osx-arm64,则重新安装适配Apple Silicon的conda版本(如Miniforge或Anaconda官方arm64安装包),再重新尝试构建。
内容的提问来源于stack exchange,提问作者Cantaro
相关产品推荐
相关产品推荐

