Error: 'conda' can only be installed into the root environment

Error: 'conda' can only be installed into the root environment

当我尝试安装 python 软件包 seaborn 时出现以下错误:

conda install --name dato-env seaborn
Error: 'conda' can only be installed into the root environment

这当然令人费解,因为我并不是要安装 conda。我正在尝试安装 seaborn。

这是我的设置。我有 3 个 python 环境:

我之前成功安装了seaborn(使用命令conda install seaborn),但是它安装在root环境中(我的iPython无法使用)使用 dato-env 的笔记本)。

我尝试在 dato-env 环境中安装 seaborn 以便我的 iPython notebook 代码可以使用它,但我一直收到上述错误提示我必须安装 conda 在根环境中。 (conda安装在根环境)

如何将 seaborn 成功安装到我的 dato-env 中?

在此先感谢您的帮助。

编辑:

> conda --version
conda 4.0.5
> conda env list
dato-env              *  /Users/*******/anaconda/envs/dato-env
py35                     /Users/*******/anaconda/envs/py35
root                     /Users/*******/anaconda

我能够为许多不同的包复制该问题。 仅当我尝试在使用 conda create --clone 选项创建的环境中安装包而不是从头开始创建的包时,才会发生该错误。

如果您克隆 root,您会在新环境中获得 conda-build 和 conda-env,但据我所知,它们不应该存在,并且在 root 之外不需要,前提是 root 仍在您的路径上。因此,如果您首先从非根环境中删除它们,您的命令应该可以工作。例如,我在尝试更新 anaconda 时遇到了同样的错误,但没有得到这样的错误:

source activate my-env
conda remove conda-build
conda remove conda-env
conda update anaconda

查看此主题以了解替代方案和背景:https://groups.google.com/a/continuum.io/forum/#!topic/anaconda/PkXOIqlEPCU

将根环境复制到 env1。

conda create --name env1 --clone root

激活您的环境。

source activate env1

删除一些必须在 root 环境中的 conda 包。

conda remove conda
conda remove conda-build
conda remove conda-env

那么,你可以这样。

conda update --all