conda use x64 for Mac M1

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

背景提示

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

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

解决方法

接下来将介绍如何解决这个问题:

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!

posted @ 2022-10-19 18:03  dan-chen  阅读(598)  评论(0编辑  收藏  举报