如何创建脚本来在 ARM conda 和 x86 conda 之间切换?

J E*_*ond 3 python zsh conda apple-m1

我使用的是 Apple Silicon M1 MacBook Pro。我想要一个本机 ARM python 环境,以及一个在 x86 架构上运行 Rosetta 2 的环境。我已经安装了两个 mini forge 发行版,都在主目录中:miniforge3用于本机 ARM 安装和miniforge3_x86_64x86 安装。

J E*_*ond 5

到目前为止,我发现的最佳解决方案是使用Rosetta 2 启动终端,然后运行我保存的函数.zshrc来初始化正确的 conda 安装,以便我可以根据情况使用正确的架构来满足我的需求。

我当前的解决方案是以下名为 x86 的函数:

x86 () {

conda deactivate

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/$USERNAME/miniforge3_x86_64/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/Users/$USERNAME/miniforge3_x86_64/etc/profile.d/conda.sh" ]; then
        . "/Users/$USERNAME/miniforge3_x86_64/etc/profile.d/conda.sh"
    else
        export PATH="/Users/$USERNAME/miniforge3_x86_64/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

export PATH="/Users/$USERNAME/miniforge3_x86_64/bin:$PATH" 
export PATH="/Users/$USERNAME/miniforge3_x86_64/condabin:$PATH"
}
Run Code Online (Sandbox Code Playgroud)

我仍然有这种感觉。我也可以在函数中添加一些别名,这样 pip 之类的东西就不会冲突,但我希望通过预先考虑 x86 路径,可以引用正确的包