Я пытаюсь записать сценарий с именем myscrpt.sh, поэтому когда я выполняю его, оно автоматически создает виртуальный ENV, и активируйте его с помощью conda. Моя conda версия 4.7.1.
Это - то, что я имею в начале своего myscrpt.sh:
#!/bin/bash
conda create --name myenv1
conda activate myenv1
создание среды не является проблемой, однако я получаю ошибку:
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. To initialize your shell, run $ conda init <SHELL_NAME> Currently supported shells are: - bash - fish - tcsh - xonsh - zsh - powershell See 'conda init --help' for more information and options. IMPORTANT: You may need to close and restart your shell after running 'conda init'.
Я не получаю эту ошибку, если я работаю conda activate myenv1
непосредственно в моем терминале.
До сих пор я принял несколько мер, таких как использование conda init <SHELL_NAME>
который не помог вообще. Затем я добавил следующее в своем bashrc
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/<user>/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/<user>/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/<user>/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/<user>/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
который также не работал. Затем и согласно этой ссылке изменил путь в строке ПУТИ к:
. /opt/conda/etc/profile.d/conda.sh
conda activate base
Этот был записан для conda 4.4, но я надеялся, что wouold помогают мне.
Затем я попробовал conda run
вместо conda activate
, но это также не помогло.
Так какие-либо идеи, как я могу получить эту работу?:)
UPDATE1: Теперь я использую source ./myscript.sh
, и активация хорошо работает, но это добирается до ошибок в conda install
.
Также
eval $(conda shell.bash hook)
к Вашему сценарию, илиbash -i
вызвать Вашу интерактивную средуНа Ubuntu Focal это единственный метод, который у меня работает.
Предполагается, что ваши envs установлены в каталоге ~/miniconda3
.
source ~/miniconda3/etc/profile.d/conda.sh
conda activate myenv