对 arm 处理器上的 conda distributions/channels 的困惑
Confusion about conda distributions/channels on arm processor
我已经使用 Anaconda 几年了,但是自从我开始使用带有 M1 处理器的 Mac 以来,我不得不处理一些安装包的问题,这就剩下了我对一些基本概念有点困惑。
例如,我试图安装 Tensorflow,结果证明正确的方法是安装 miniforge,并从 conda-forge 通道(这是 miniforge 的默认通道)获取 Tensorflow,如解释的那样 here.
然后,我想知道我是否可以使用 Anaconda/Miniconda...将 conda-forge 通道设置为默认值,并安装 Tensorflow(或任何其他与 arm 兼容的软件包),但是
所以,现在我正试图了解这一切是如何运作的。
如果 conda-forge 通道中存在与 M1 处理器兼容的 Tensorflow 版本(并且它确实存在),为什么我不能在配置它使用所述通道后使用 Anaconda/Miniconda 安装它?换句话说,Anaconda/Miniconda 和 Miniforge 之间有什么区别,除了他们寻找软件包的渠道(以及,据我所知,一些许可证)?
有一个类似的问题,但答案似乎没有解决我的主要问题(为什么 Anaconda/Miniconda 使用 conda-forge 作为默认通道与 miniforge 不同)。
这并非不可能,但您必须克服重重困难才能完成。
首先,如果你安装了Anaconda,你无法将conda-forge包一致地安装到基础环境中,因为Anaconda基础环境中的anaconda
包会与conda-forge中的包发生冲突.
其次,由于 Anaconda 目前只有 x86_64,您只能通过 Rossetta 仿真安装它。之后,您需要通过设置环境变量 CONDA_SUBDIR.
来告诉 conda 您需要 arm64 兼容包
CONDA_SUBDIR=osx-arm64 conda create -n native numpy -c conda-forge
将为您提供一个带有原生 arm64 软件包的新环境。但是,如果您想更新此环境,则必须在所有 conda 命令前加上 CONDA_SUBDIR=osx-arm64
.
要永久修复此问题,您可以执行以下操作
conda activate native
conda config --env --set subdir osx-arm64
这将使 conda 在此环境中使用 osx-arm64
。
我已经使用 Anaconda 几年了,但是自从我开始使用带有 M1 处理器的 Mac 以来,我不得不处理一些安装包的问题,这就剩下了我对一些基本概念有点困惑。
例如,我试图安装 Tensorflow,结果证明正确的方法是安装 miniforge,并从 conda-forge 通道(这是 miniforge 的默认通道)获取 Tensorflow,如解释的那样 here.
然后,我想知道我是否可以使用 Anaconda/Miniconda...将 conda-forge 通道设置为默认值,并安装 Tensorflow(或任何其他与 arm 兼容的软件包),但是
所以,现在我正试图了解这一切是如何运作的。 如果 conda-forge 通道中存在与 M1 处理器兼容的 Tensorflow 版本(并且它确实存在),为什么我不能在配置它使用所述通道后使用 Anaconda/Miniconda 安装它?换句话说,Anaconda/Miniconda 和 Miniforge 之间有什么区别,除了他们寻找软件包的渠道(以及,据我所知,一些许可证)?
这并非不可能,但您必须克服重重困难才能完成。
首先,如果你安装了Anaconda,你无法将conda-forge包一致地安装到基础环境中,因为Anaconda基础环境中的anaconda
包会与conda-forge中的包发生冲突.
其次,由于 Anaconda 目前只有 x86_64,您只能通过 Rossetta 仿真安装它。之后,您需要通过设置环境变量 CONDA_SUBDIR.
CONDA_SUBDIR=osx-arm64 conda create -n native numpy -c conda-forge
将为您提供一个带有原生 arm64 软件包的新环境。但是,如果您想更新此环境,则必须在所有 conda 命令前加上 CONDA_SUBDIR=osx-arm64
.
要永久修复此问题,您可以执行以下操作
conda activate native
conda config --env --set subdir osx-arm64
这将使 conda 在此环境中使用 osx-arm64
。