Как активировать среду conda, оставаясь в состоянии изменить среду с помощью eval --setenvironment
У меня есть рабочая среда, в которой мне часто приходится переходить из одной среды Python Conda в другую среду, предоставляемую коллегами для запуска кода. Для того, чтобы при работе я работал в среде conda, в моем.bashrc есть следующий код:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/soft/cdtng/tools/anaconda/3/bin/conda' 'shell.bash' '$
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/opt/soft/cdtng/tools/anaconda/3/etc/profile.d/conda.sh" ]; then
. "/opt/soft/cdtng/tools/anaconda/3/etc/profile.d/conda.sh"
else
export PATH="/opt/soft/cdtng/tools/anaconda/3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
Проблема в том, что при такой настройке, когда какой-то коллега просит меня, например, запустить
eval $(anaconda --version 3.1_tf_cpu --setenvironment)
Тогда я получаю сообщение об ошибке:
bash: syntax error near unexpected token `('
И исполнение не работает. Что мне нужно, это:
- продолжать работать в моей среде conda (когда я запускаю оболочку, я всегда получаю (base) по умолчанию. Это не является обязательным требованием, но я хочу, чтобы, когда я делаю "conda activat myenv", тогда myenv становится активным в оболочке)
- но мне все еще нужно использовать вышеуказанную команду setenvironment и управлять ею, чтобы она была эффективной.
Извините, если вопрос слишком простой, но я не настолько опытен в управлении средами conda.
1 ответ
Я нашел ответ на свой вопрос в другом посте:
Не стесняйтесь удалить этот пост на случай, если это будет нежелательное повторение.
Моя conda, настроенная в.bashrc, теперь выглядит следующим образом:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/soft/cdtng/tools/anaconda/3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/opt/soft/cdtng/tools/anaconda/3/etc/profile.d/conda.sh" ]; then
. "/opt/soft/cdtng/tools/anaconda/3/etc/profile.d/conda.sh"
else
export PATH="/opt/soft/cdtng/tools/anaconda/3/bin:$PATH"
fi
fi
unset __conda_setup
#CONDA_AUTO_ACTIVATE_BASE=false
conda config --set auto_activate_base false
# <<< conda initialize <<<