Я недавно установил последнюю версию 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 в будущем?
Примечание: есть другие вопросы , подобные этому , которые полезны. Но я не нашел ни одного, который отвечал бы на вопрос, почему блок должен быть "управляемым" и что пойдет не так, если он будет изменен.