使用 conda-forge 作为 Anaconda 的默认通道在 Mac Pro M1 上安装软件包

Using conda-forge as default channel with Anaconda to install packages on Mac Pro M1

我刚开始一份新工作,他们给了我一个 Mac 专业人士来工作。我正在阅读有关新 M1 处理器和所有内容的信息,我发现 this article 特别有用。

不过,我对此还有一个疑惑。如果我没有误解,在文章中他们建议使用 Anaconda(带有 Rosetta2 翻译),或者安装 Miniforge,它将 conda-forge 设置为默认和唯一通道,以便下载专门为 M1 编译的包。我找了不同的教程,都建议用Miniforge给M1安装包。

我的问题是……我不能只使用 Anaconda,并将 conda-forge 设置为唯一的安装通道,来获取 M1 编译的包,就像使用 Miniforge 那样吗?还是我误会了什么? 谢谢!

更新

我的意思是正确的。一点解释:在每个频道中,都存在针对不同 OS 和体系结构的子目录。当您安装 conda 时,它会自动在正确的子目录中查找您配置的所有频道。为 arm 和 x64 安装的 conda 之间的区别在于它看起来的子目录。例如。对于我在 linux 机器(通过 miniconda 安装)上的 conda,我手动添加了 conda-forge 频道,频道列表实际上如下所示:

           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch

在您的 MAC 上,它看起来与 anaconda/miniconda 的 64 位安装相似。现在来谈谈 miniforge 和 anaconda/miniconda 之间的区别:第一个已经预先配置为使用 conda-forge 通道,后者可以配置为相同。到目前为止,没有区别。唯一的区别是你只能安装 x64 版本的 anaconda 和 miniconda,但是 miniforge 可以安装为 arm64 安装,它将查看 conda-forge 的不同 sub-directories,即 conda-forge/osx-arm64 .

然而,当 conda 命令为 运行 时,您可以修改考虑哪个 sub-directory。不过,我对它的工作稳定性没有经验。这可以通过设置环境变量 CONDA_SUBDIR=osx-arm64 来实现,您可以在每次 运行 执行特定命令之前设置它,或者您只需使用适合您的环境的 conda env config command 来设置它。您必须确保在设置 CONDA_SUBDIR=osx-arm64 变量时安装环境中的 all 包。


目前只有 64 位的 anaconda 安装程序。所有随之而来的都是 64 位的。安装的所有模块都将针对 64 位,conda 将下载 64 位模块。您不能将 arm 模块安装到 64 位 conda 安装中。您需要决定:

  1. anaconda 的“方便”(非常主观),即获得一堆针对 64 位的预安装包
  2. 特定于您的体系结构的安装,具有可能的速度和其他优势