在M1芯片的电脑上使用conda安装x86的库

背景提示

“众所周知,苹果新芯片采用的是ARM架构,在使用conda的时候会发现一些库仅支持x64的(接下来都以esmf为例),会下载不了(出现如下错误)。”
img

这种情况,可以先上 https://anaconda.org 查一下这个库支持的版本,再根据之前文章(https://www.cnblogs.com/dan-chen/p/15987085.html)提到过add channels的方法。但例子中的esmf没办法支持arm架构,只能借助rosetta转译
img

方法

接下来将介绍如何解决这个问题,以esmf为例:

CONDA_SUBDIR=osx-64 conda create -n <env_name> python=3.8
conda activate <env_name>
conda config --env --set subdir osx-64

完成之后,就可以在创建的环境里下载esmf啦
img

为了以后方便,还可以在~/.zshrc里添加以下脚本,之后用新的命令就直接可以创建x64的环境了。

### add this to ~/.zshrc (or ~/.bashrc if you're using Bash)
create_x64_conda_environment () {
  # create a conda environment using x86 architecture
  # first argument is environment name, all subsequent arguments will be passed to `conda create`
  # example usage: create_x64_conda_environment myenv_x64 python=3.9

  CONDA_SUBDIR=osx-64 conda create -n $@
  conda activate $1
  conda config --env --set subdir osx-64
}

注意: create_x64_conda_environment () { 就是自定义的命令,也可以改成自己容易记的。

以上内容搬运自 https://towardsdatascience.com/how-to-manage-conda-environments-on-an-apple-silicon-m1-mac-1e29cb3bad12 ,并在自己电脑上得到实践。在个人应用的时候尝试了2个版本,一是开启rosetta的terminal副本(如下图,右键 -> get info -> 选中open using rosetta),二是未设置的terminal,均可成功应用上述方法。
img

祝大家愉快conda!

原文地址:http://www.cnblogs.com/dan-chen/p/16807269.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性