Macos conda激活命令在mac上不工作

Macos conda激活命令在mac上不工作,macos,conda,Macos,Conda,我有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:您的

我有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”


我尝试过类似于
bash-I./run_spyder.sh
,或
source./run_spyder.sh
,或添加
~/miniconda3/bin/conda init bash
,但都不起作用

Shell仍然是bash,没有
.bashrc
,在
中。bash\u 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 <<<
#.bashrc_配置文件
#>>>康达初始化>>>
# !! 此块中的内容由“conda init”管理!!
__conda_setup=“$”(“~/miniconda3/bin/conda”shell.bash“hook”2>/dev/null)”
如果[$?-等式0];然后
评估“$\uuu conda\u设置”
其他的
如果[-f”~/miniconda3/etc/profile.d/conda.sh”];然后
. “~/miniconda3/etc/profile.d/conda.sh”
其他的
导出路径=“~/miniconda3/bin:$PATH”
fi
fi
未设置条件设置

#conda activate
函数是一个shell函数,通常在会话启动时在shell的初始化文件中定义(例如在
.bash\u配置文件中定义)。
conda init
函数仅将代码添加到此类初始化文件中,但不会实际生成它添加的代码。希望这能澄清问题(和评论)中尝试的困难

相反,尝试直接寻找Conda使用的代码。比如:

#!/bin/bash
source ~/miniconda3/etc/profile.d/conda.sh
conda activate py3
conda info | grep "active environment"
spyder &
另一个选项是在登录模式下启动
bash
(或
zsh
)会话(即为当前用户运行初始化文件)

#/usr/bin/env bash-l

conda deactivate#conda activate
函数是一个shell函数,通常在会话启动时在shell的初始化文件中定义(例如在
.bash\u配置文件中)。
conda init
函数仅将代码添加到此类初始化文件中,但不会实际生成它添加的代码。希望这能澄清问题(和评论)中尝试的困难

相反,尝试直接寻找Conda使用的代码。比如:

#!/bin/bash
source ~/miniconda3/etc/profile.d/conda.sh
conda activate py3
conda info | grep "active environment"
spyder &
另一个选项是在登录模式下启动
bash
(或
zsh
)会话(即为当前用户运行初始化文件)

#/usr/bin/env bash-l

conda deactivate#
zsh
是macos上的默认外壳。你能试试
conda init zsh
~/miniconda3/bin/conda init zsh
不会改变结果
zsh
现在是macos上的默认shell。您能试试
conda init zsh
~/miniconda3/bin/conda init zsh
不会改变result@fivelements你能更具体地说明他们是如何失败的吗?这两种方法在osx-64平台上都适用,但我正在加载特定于环境的包进行验证,例如,
python-c'import pymc3;打印(pymc3.\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu)
,而不是启动Spyder。另外,我只是使用
/run\u spyder.sh
(即,不使用
bash
source
)运行脚本,这让shebang头执行其确定如何运行脚本的任务。我启动一个终端(即bash),然后执行.bash\u配置文件,我可以在提示符中看到
(base)
。然后我运行
/run\u spyder.sh
。我遇到了与之前相同的错误
CommandNotFoundError:您的shell没有正确配置为使用“conda activate”。
@5能否更具体地说明它们是如何失败的?这两种方法在osx-64平台上都适用,但我正在加载特定于环境的包进行验证,例如,
python-c'import pymc3;打印(pymc3.\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu)
,而不是启动Spyder。另外,我只是使用
/run\u spyder.sh
(即,不使用
bash
source
)运行脚本,这让shebang头执行其确定如何运行脚本的任务。我启动一个终端(即bash),然后执行.bash\u配置文件,我可以在提示符中看到
(base)
。然后我运行
/run\u spyder.sh
。我遇到了与之前相同的错误
CommandNotFoundError:您的shell没有正确配置为使用“conda activate”。
#!/usr/bin/env bash -l
conda deactivate    # <- may not be needed, but didn't work for me without
conda activate py3
conda info | grep "active environment"
spyder &