Команда Conda работает в командной строке, но не в скрипте bash - PullRequest
0 голосов
/ 12 октября 2018

мой anaconda (4.5.4) работает нормально, пока я использую его только через терминал linux (оболочка bash).Однако выполнение команд conda в bash-скрипте не работает вообще.

Скрипт test.sh содержит следующие строки:

#!/bin/bash
conda --version
conda activate env

Теперь выполнение bash test.sh приводит к ошибке test.sh: line 2: conda: command not found test.sh: line 3: conda: command not found

В соответствии с рекомендациями для версии anaconda> 4.4 мой .bashrc не содержит

export PATH="/opt/anaconda/bin:$PATH",

, но

. /opt/anaconda/etc/profile.d/conda.sh

Спасибо.

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Я решил проблему благодаря комментарию @darthbith.

Поскольку conda является функцией bash, и функции bash не могут быть распространены на независимые оболочки (например, открыты с помощью скрипта bash), одиндолжен добавить строку

source /opt/anaconda/etc/profile.d/conda.sh

в скрипт bash перед вызовом команд conda.В противном случае Bash не будет знать о Conda.

0 голосов
/ 12 октября 2018

сделайте sudo ln -s /home/<user>/miniconda3/etc/profile.d/conda.sh /etc/profile.d/conda.sh и попробуйте снова.Это должно активировать conda для всех пользователей постоянно

source

...