我正在尝试编写一个名为myscrpt.sh的脚本,所以当我运行它时,它会自动创建一个虚拟env并使用conda激活它。我的conda版本是4.7.1。
这就是我在myscrpt.sh开始时所拥有的:
#!/bin/bash
conda create --name myenv1
conda activate myenv1创建环境不是问题,但是我得到了错误:
CommandNotFoundError:您的shell没有被正确配置为使用“conda”。要初始化您的shell,运行$ conda init 当前支持的shell是:- bash - fish - tcsh - xonsh - zsh - powershell -参阅'conda init --帮助‘以获得更多信息和选项。注意:在运行“conda init”之后,您可能需要关闭并重新启动shell。
如果我直接在我的终端中运行conda activate myenv1,我就不会得到这个错误。
到目前为止,我已经采取了一些措施,例如使用conda init ,这一点都没有帮助。然后,我在bashrc中添加了以下内容
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home//anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home//anaconda3/etc/profile.d/conda.sh" ]; then
. "/home//anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home//anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<也不起作用。接下来,根据此链接,将路径行中的路径更改为:
. /opt/conda/etc/profile.d/conda.sh
conda activate base这是为conda 4.4写的,但我希望能帮上忙。
然后我尝试了conda run而不是conda activate,但这也没有帮助。
那么,我有什么想法可以让它发挥作用呢?)
UPDATE1:现在我使用source ./myscript.sh,激活工作很好,但是它会导致conda install中的错误。
发布于 2019-11-06 17:13:02
任一
eval $(conda shell.bash hook)添加到脚本中,或bash -i调用脚本来调用交互式环境发布于 2021-08-27 13:52:47
在此问题中给出的另一个解决此错误消息的方法是:
source activate base因此,一个完整的例子可以是:
#!/bin/bash
conda create --name myenv1
source activate base
conda activate myenv1发布于 2020-12-09 16:10:32
在Ubuntu焦点,这是唯一的方法,为我工作。
假设您的env安装在~/miniconda3目录中。
source ~/miniconda3/etc/profile.d/conda.sh
conda activate myenvhttps://askubuntu.com/questions/1171073
复制相似问题