Конда добавляет «управляемый» блок в ~ / .bashrc или ~ / .bash_profile - PullRequest
0 голосов
/ 10 октября 2019

Я недавно установил последнюю версию Miniconda3. Он добавил следующие строки в конец моего ~ / .bashrc (с «XXXX», заменяющим фактический путь):

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

Я не хочу, чтобы внешняя программа «управляла» моей конфигурацией bash. Хотя это то, что мне просто не нравится, более конкретная причина в том, что я стандартизировал свои ~/.bashrc и ~/.bash_profile на нескольких компьютерах, на некоторых из которых conda установлена ​​в разных местах. Поэтому в этом случае я хочу добавить некоторую условную настройку conda на основе имени хоста.

Так что мой вопрос заключается в том, почему conda init нужно иметь возможность изменять этот блок после начальной фазы установки? Иными словами, если я сам изменю это и уберу маркеры # >>> conda initialize >>> и # <<< conda initialize <<<, это помешает корректному обновлению conda в будущем?

Примечание: есть другие вопросы , подобные этому , которые полезны. Но я не нашел ни одного, который отвечал бы на вопрос, почему блок должен быть "управляемым" и что пойдет не так, если он будет изменен.

...