找不到 conda 环境

Bob*_*els 10 macos terminal anaconda conda

我正在尝试重新进入我的 conda 环境,但是当我输入conda activate (evironment name)source activate (environment name)两者都返回错误“找不到 conda 环境”时,我遇到了问题。这很奇怪,因为当我输入时conda info --envs,我得到了这个:

# conda environments:
#
base                  *  /Users/(my name)/anaconda3
                         /anaconda3/envs/(environment name)
Run Code Online (Sandbox Code Playgroud)

mer*_*erv 17

名称和前缀

要使 Conda env 具有名称,它必须安装在其中一个envs_dirs目录中(请参阅参考资料conda config --show envs_dirs)。在其中之一之外创建一个环境会丧失其“命名能力”。相反,您必须使用路径(称为它的前缀)来激活它,例如,

conda activate /anaconda3/envs/my_env
Run Code Online (Sandbox Code Playgroud)

其他命令将要求您使用该--prefix|-p标志来指定 env。请参阅有关“指定环境位置”的文档。

添加其他环境位置

如果您计划经常安装在与默认位置不同的位置,则可以选择将目录添加到envs_dirs配置变量中。在你的情况下,这将是

conda config --append envs_dirs /anaconda3/envs
Run Code Online (Sandbox Code Playgroud)

请注意,您在此处输入的任何内容都将成为将来使用该标志进行安装的事实上的默认值--name|-n。如果您仍然想保留通常默认的 ( /Users/(my name)/anaconda3/envs),那么您应该按照上面的

conda config --prepend envs_dirs /Users/(my name)/anaconda3/envs
Run Code Online (Sandbox Code Playgroud)

也就是说,这将让您获取安装在 中的环境的“名称” /anaconda3/envs,但调用conda create -n foo仍将在/Users/(my name)/anaconda3/envs/foo.

文档:conda config --describe envs_dirs.