如何为新的 conda 环境指定架构或平台?(苹果硅)

Bob*_*Bob 8 anaconda conda miniconda anaconda3

在创建新的 conda 环境时,有没有办法指定架构/平台?或者,conda 在运行时如何检测其当前的架构/平台?

我的目标是:我在 Apple Silicon 笔记本电脑上运行。我现有的环境通过 Rosetta2 运行良好,但我想开始试验在 Apple Silicon 上本地运行的 python。miniforge提供了一个带有 Apple Silicon 构建的 conda-forge 存储库,我可以conda-forge在创建环境时告诉 conda 使用该通道。但是除了从 miniforge 的安装程序开始之外,我没有看到一种方法来指定我希望这是一个 arm64 环境而不是 x86_64 环境。

提前致谢。

isu*_*ruf 9

CONDA_SUBDIR=osx-arm64 conda create -n native numpy -c conda-forge会给你一个osx-arm64本地环境。

  • 谢谢!我让它与 `CONDA_SUBDIR=osx-arm64 conda create -n py39_native python=3.9 -c conda-forge --override-channels` 一起使用,我很确定你需要最后一点。如果您想将其添加到您的答案中,我会接受它作为正确的。 (3认同)
  • `--override-channels` 并不是绝对必要的。如果您的频道中已有“-c conda-forge”,则不需要它,但无论如何都添加了它。 (2认同)
  • 创建后应在新环境中运行: `conda env config vars set CONDA_SUBDIR=osx-arm64` 否则将来的安装将恢复为 osx_64 (2认同)

Llo*_*ton 8

如何为M1 Apple Siliconarm64和M1 Apple Silicon 上配置 python conda 环境x86_64

添加到答案中,可以配置conda为使用 osx-arm64(arm64) 和osx-64(x86_64) 架构。

我发现添加conda config --env --set subdir osx-arm64全局更改选项给我带来了问题。我的一些项目依赖于 python 依赖项,这些依赖项仅在一种或另一种体系结构中受支持,而不是同时在两种体系结构中受支持:特别是tensorflow.

安装Xcode:

xcode-select --install
Run Code Online (Sandbox Code Playgroud)

安装miniforge3

通过从此处下载 shell 脚本来安装 miniforge3: https: //github.com/conda-forge/miniforge。确保选择arm64(Apple Silicon)架构。您可能需要使用以下命令启用 shell 脚本的执行:

chmod +x Miniforge3-MacOSX-arm64.sh
Run Code Online (Sandbox Code Playgroud)

然后执行的是:

sh Miniforge3-MacOSX-arm64.sh
Run Code Online (Sandbox Code Playgroud)

添加快捷方式~/.zshrc~/.bashrc

将以下代码添加到~/.zshrc.

该代码将添加两个快捷函数来创建osx-64osx-arm64conda 环境。

# Create x86 conda environment
create_x86_conda_environment () {

  # example usage: create_x86_conda_environment myenv_x86 python=3.9
  CONDA_SUBDIR=osx-64 conda create -n $@
  conda activate $1

}

# Create ARM conda environment
create_ARM_conda_environment () {

  # example usage: create_ARM_conda_environment myenv_x86 python=3.9
  CONDA_SUBDIR=osx-arm64 conda create -n $@
  conda activate $1

}
Run Code Online (Sandbox Code Playgroud)

创建conda环境

现在创建一个3.9.13 osx-64名为的 python (x86_64) 环境env_x86

create_x86_conda_environment env_x86 python=3.9.13
Run Code Online (Sandbox Code Playgroud)

或者对于osx-arm64(arm64) 环境:

create_ARM_conda_environment env_ARM python3.9.13
Run Code Online (Sandbox Code Playgroud)

点安装包

激活后,您可以安装相应的软件包。就我而言,我需要一个arm64安装环境tensorflow-macos

conda install -c apple tensorflow-deps
pip install tensorflow-macos tensorflow-metal
Run Code Online (Sandbox Code Playgroud)