错误:“conda”只能安装到根环境中

Posted

技术标签:

【中文标题】错误:“conda”只能安装到根环境中【英文标题】:Error: 'conda' can only be installed into the root environment 【发布时间】:2016-07-07 04:28:38 【问题描述】:

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

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

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

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

dato 环境 py35 根

我之前成功安装了 seaborn(使用命令 conda install seaborn),但它安装在根环境中(并且不适用于使用 dato-env 的 iPython 笔记本)。

我尝试在 dato-env 环境中安装 seaborn,以便我的 iPython 笔记本代码可以使用它,但我不断收到上述错误,说我必须安装 conda 在根环境中。 (conda安装在root环境中)

如何将 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 更新到最新版本。如果这没有帮助,我会做source activate data-env 看看conda install seaborn 是否有效。 谢谢,但我试过了。同样的错误。 :-( 恐怕我可能必须卸载所有版本的python(系统版本除外(我在Mac上)),然后重新安装。但我不明白为什么需要这样做。 可以加conda --versionconda env list吗? 编辑原帖以添加 conda 版本和 env 列表。 您认为这个问题是 seaborn 特有的吗?您是否尝试过安装其他软件包? 【参考方案1】:

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

【讨论】:

【参考方案2】:

如果您克隆 root,您会在新环境中获得 conda-build 和 conda-env,但是如果 root 保留在您的路径上,那么它们不应该存在并且在 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

【讨论】:

这就是问题所在。谢谢。 (这又发生在我身上。第一次我核对所有内容并重新开始。第二次我只是从非 root 环境中删除了 conda 包。这很有效。) 如果您是从 *.yml 文件构建的,您还可以进入该文件并删除依赖项下的那些项目。 我在尝试使用conda install -c conda-forge matplotlib-venn=0.11.4 在克隆的根环境中安装matplotlib-venn 后遇到了这个问题。已修复的已发布解决方案允许我安装 matplotlib-venn。这似乎是 Anaconda 应该解决的问题。 最近对 conda 的更新已将 root 重命名为 base,并且 --clone 选项现在排除了 conda 组件。【参考方案3】:

将根环境复制到 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

【讨论】:

以上是关于错误:“conda”只能安装到根环境中的主要内容,如果未能解决你的问题,请参考以下文章

在 conda 中创建环境时如何修复错误

conda 迁移环境

【Anaconda】conda创建虚拟环境不报错,但是虚拟环境无法生成的解决办法

linux服务器离线安装conda

linux服务器离线安装conda

无法使用 fermitools 激活 Conda 环境