переключаться между установками conda - PullRequest
0 голосов
/ 11 мая 2019

По крайней мере, в 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) по-прежнему сохраняет некоторые начальные настройки conda ~/.bashrc (например, информация PATH). Я пытался найти способ сделать это с direnv, но я так и не понял.

1 Ответ

0 голосов
/ 20 июня 2019

Удалите все разделы инициализации из вашего .bashrc, переместите их в отдельные файлы bash и выполните тот, который вам нужен, когда вам это нужно.

В качестве альтернативы, сохраните раздел в .bashrc и оберните его вфункция:

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

Затем используйте delayed-conda-setup как требуется.

...