【发布时间】:2020-12-06 23:02:25
【问题描述】:
我有 miniconda 4.8.3 + MacOS Catalina 10.15。我可以在终端手动激活 conda 环境并启动一个 spyder 会话。
$ ~/miniconda3/bin/conda activate py3
$ ~/miniconda3/bin/conda info | grep "active environment"
$ spyder &
当我将上述内容放入脚本时,run_spyder.sh 无法正常工作,并抱怨“CommandNotFoundError:您的 shell 未正确配置为使用 'conda activate'。”
#!/bin/bash
# run_spyder.sh
~/miniconda3/bin/conda activate py3
~/miniconda3/bin/conda info | grep "active environment" # still print base
# spyder &
我尝试了bash -i ./run_spyder.sh、source ./run_spyder.sh 或添加~/miniconda3/bin/conda init bash 之类的替代方法,但都不起作用。
shell还是bash,没有.bashrc,在.bash_profile这个是miniconda安装自动生成的脚本
# .bashrc_profile
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('~/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "~/miniconda3/etc/profile.d/conda.sh" ]; then
. "~/miniconda3/etc/profile.d/conda.sh"
else
export PATH="~/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
【问题讨论】:
-
zsh现在是 macos 上的默认 shell。你可以试试conda init zsh吗? -
~/miniconda3/bin/conda init zsh不会改变结果