Вызов анаконды из MATLAB: команда Conda не найдена - PullRequest
1 голос
/ 23 апреля 2020

Я хочу вызвать скрипт Python, который я создал в собственной среде Anaconda и хотел вызвать скрипт из Matlab 2020a. Однако, когда я пытаюсь активировать среду из Matlab, я получаю сообщение об ошибке:

system('conda activate *name_of_environment*')
/bin/bash: conda: command not found

Я установил новейшую версию anaconda3 (2020.02) на машину с Ubuntu 18.04 и, как рекомендовано, не сделал добавьте conda в bashr c, но вместо этого добавьте каталог conda. sh, как рекомендовано здесь :

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/michael/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/michael/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/michael/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/michael/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

# export PATH="/home/michael/anaconda3/bin:$PATH"  # commented out by conda initialize

#Enable conda to be called from bash
source /home/michael/anaconda3/etc/profile.d

Однако я не могу найти объяснение, как запустить conda из Матлаб иначе. Я что-то упустил?

Спасибо большое, и лучше всего,

Майкл

1 Ответ

1 голос
/ 24 апреля 2020

Позвольте мне подробно изложить свой комментарий в ответ.

Двоичные файлы находятся через переменные окружения PATH. Местоположение conda не находится в этой переменной. Поэтому вы должны либо добавить его к своим PATH переменным (или удалить комментарий в этом сценарии при уведомлении).

Пример:

$ export PATH="$PATH:/home/michael/anaconda3/bin/"
$ ./yourscript.sh

Но также может быть, что * Переменная 1010 * не копируется через system(), что, по-моему, запускает скрипт в новой оболочке. В этом случае вы должны выполнить его как:

system('/home/michael/anaconda3/bin/conda activate *name_of_environment*')
...