我想调用我在自己的Anaconda环境中创建的Python脚本,并想从Matlab2020a调用该脚本。但是,当我尝试从Matlab激活环境时,我得到一个错误消息:
system('conda activate *name_of_environment*')
/bin/bash: conda: command not found我在Ubuntu18.04机器上安装了最新版本的anaconda3 (2020.02),并且按照推荐的方式,没有将conda添加到bashrc,而是添加了conda.sh目录作为推荐的here
# >>> 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的其他解释。我是不是遗漏了什么?
非常感谢,还有最好的,
迈克尔
发布于 2020-04-24 05:02:43
让我在回答中详细说明我的评论。
二进制文件是通过PATH环境变量找到的。conda的位置不在该变量中。因此,您应该将其添加到您的PATH变量中(或者在通知时取消对该脚本的注释)。
示例:
$ export PATH="$PATH:/home/michael/anaconda3/bin/"
$ ./yourscript.sh但也可能没有通过system()复制PATH变量,我猜它会在新的shell中执行脚本。在这种情况下,您应该将其执行为:
system('/home/michael/anaconda3/bin/conda activate *name_of_environment*')发布于 2021-06-09 10:45:39
我知道为时已晚,但使用conda环境运行python脚本的最好方法可能是直接调用与该环境关联的python可执行文件:
system('~/anaconda3/envs/<name_of_environment>/bin/python your_script.py')https://stackoverflow.com/questions/61395958
复制相似问题