从MATLAB调用Anaconda环境:找不到Conda命令

问题描述 投票:0回答:1

我想调用我在自己的Anaconda环境中创建的Python脚本,并希望从Matlab 2020a中调用该脚本。但是,当我尝试从Matlab激活环境时,出现错误消息:

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

我在Ubuntu 18.04机器上安装了最新版本的anaconda3(2020.02),并且按照建议,没有将conda添加到bashrc中,而是按照建议的here添加了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

但是,我找不到从Matlab运行conda的解释。我想念什么吗?

非常感谢,最好,

Michael

bash matlab ubuntu anaconda environment
1个回答
0
投票

让我详细说明我的评论。

二进制是通过PATH环境变量找到的。 conda的位置不在该变量中。因此,您应该将其添加到PATH变量中(或在通知时取消注释该脚本)。

示例:

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

但是也可能是PATH变量没有通过system()复制,我猜这是在新的Shell中执行脚本的。在这种情况下,应将其执行为:

system('/home/michael/anaconda3/bin/conda activate *name_of_environment*')
© www.soinside.com 2019 - 2024. All rights reserved.