Apple M1 Pro环境下无法通过Conda安装mkl-service求助
解决M1 Pro上Anaconda安装mkl-service失败的问题
先处理conda求解器依赖缺失问题
报错里的libarchive.19.dylib缺失会导致conda-libmamba-solver加载失败,进而影响环境求解,先修复这个问题:
- 切换回conda经典求解器,绕过libmamba的错误:
conda config --set solver classic - 安装缺失的libarchive库:
conda install -c conda-forge libarchive=19 - 若仍有问题,重新安装conda-libmamba-solver:
conda install -c conda-forge conda-libmamba-solver
解决mkl-service安装失败问题
核心原因
你指定的mkl-service==1.1.2是老旧版本,osx-arm64架构的conda源没有适配该版本的包;同时你使用的Python3.6.8已停止维护,ARM架构对这类老版本Python的支持非常有限。
可行解决方案
方案1:升级Python版本,适配ARM架构
删除现有环境,修改environment.yml更新Python及依赖版本(选择对ARM友好的新版本),让conda自动匹配适配的mkl-service:
修改后的environment.yml示例:
name: neural-network-projects-python dependencies: - python>=3.9 - pandas>=1.0 - numpy>=1.21 - matplotlib>=3.3 - Keras>=2.6 - opencv>=4.5 - seaborn>=0.11 - scikit-learn>=1.0 - mkl-service - theano>=1.0.5 - pillow>=8.0 - ipykernel>=6.0 - jupyter - pip: - piexif>=1.1.2
执行环境创建:
conda env create -f environment.yml
方案2:用pip安装或切换到x86架构
若必须保留Python3.6.8:
- 激活环境后尝试pip安装:
pip install mkl-service==1.1.2 --no-cache-dir - 若pip安装失败,安装Rosetta 2模拟x86架构:
- 安装Rosetta 2:
softwareupdate --install-rosetta - 打开x86模式终端:
arch -x86_64 zsh - 在x86模式下重新创建环境:
conda env create -f environment.yml
- 安装Rosetta 2:
方案3:移除mkl-service依赖
若项目并非必须依赖mkl-service,直接从environment.yml中删除mkl-service==1.1.2这一行,重新创建环境即可。多数科学计算库会自动关联MKL相关组件,无需手动安装mkl-service。
额外建议
- 避免使用已停止维护的Python版本(如3.6),ARM架构对老旧版本的支持不完善,容易引发依赖问题。
- 优先使用conda-forge源,它对ARM架构的适配性优于默认源。
内容的提问来源于stack exchange,提问作者Yavor
相关产品推荐
相关产品推荐

