在conda安装之间切换

时间:2019-05-11 15:04:31

标签: installation conda miniconda

至少在bash + conda v4.6.14中,conda init将以下内容添加到~/.bashrc

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

...以便在登录期间会激活conda。如果文件系统上仅安装了一个(mini / ana)conda,则非常有用。

我在同一文件系统上安装了多个miniconda,因此如果.bashrc文件中仅设置了一次安装,如何在它们之间切换?

寻找替代的conda设置(即source ~/.bashrc_for_other_conda_install)仍保留一些初始~/.bashrc的conda设置(例如PATH信息)。我一直在尝试找到一种使用direnv的方法,但是我还没有弄清楚。

1 个答案:

答案 0 :(得分:0)

从.bashrc中删除所有初始化部分,将它们移到单独的bash文件中,并在需要时执行所需的一个。

或者,将该节保留在.bashrc中,并将其包装在函数中:

function delayed-conda-setup {
# >>> conda initialize >>>
...
# <<< conda initialize <<<
}

然后根据需要使用delayed-conda-setup