conda активируют не работу в файле удара

Я пытаюсь записать сценарий с именем 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.

2
задан 5 September 2019 в 17:13

2 ответа

Также

  1. Добавить eval $(conda shell.bash hook) к Вашему сценарию, или
  2. Назовите свой сценарий с bash -i вызвать Вашу интерактивную среду
0
ответ дан 2 December 2019 в 06:00

На Ubuntu Focal это единственный метод, который у меня работает.

Предполагается, что ваши envs установлены в каталоге ~/miniconda3.

source ~/miniconda3/etc/profile.d/conda.sh
conda activate myenv
0
ответ дан 9 December 2020 в 16:10

Другие вопросы по тегам:

Похожие вопросы: