我想删除一个用conda创建的特定环境。我怎样才能做到呢?假设我有一个活动的testenv环境。通过以下文档,我尝试了:

$ conda env remove

CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again

然后我停用它:

$ source deactivate

我尝试再次运行命令删除它,我仍然得到相同的错误。这里出了什么问题?


当前回答

您可能没有完全禁用Conda环境—记住,您需要使用Conda deactivate命令(对于旧版本,使用source deactivate)。因此,在尝试之前启动一个新的shell并激活其中的环境可能是明智的。然后停用它。

您可以使用该命令

conda env remove -n ENV_NAME

以删除具有该名称的环境。(——name等价于-n)

注意,如果您愿意,在创建和删除环境时,也可以使用-p /path/to/env而不是-n ENV_NAME将环境放置在您想要的任何位置。他们不必住在你的conda装置里。

更新,2019年1月30日:从Conda 4.6起,Conda activate命令成为激活所有平台环境的新官方方式。这些变化在Anaconda的博客文章中有描述

其他回答

在确保您的环境处于非活动状态后,键入:

$ conda env remove --name ENVIRONMENT

因为只能停用活动环境,所以conda deactivate不需要也不接受参数。这里的错误消息非常明确。

叫conda去激活 https://github.com/conda/conda/issues/7296#issuecomment-389504269

使用——前缀或-p标志创建的环境必须使用-p标志(而不是-n)删除。

例如: Conda remove -p </filepath/myenvironment>——all,其中</filepath/myenvironment>被替换为到环境的完整或相对路径。

您可能没有完全禁用Conda环境—记住,您需要使用Conda deactivate命令(对于旧版本,使用source deactivate)。因此,在尝试之前启动一个新的shell并激活其中的环境可能是明智的。然后停用它。

您可以使用该命令

conda env remove -n ENV_NAME

以删除具有该名称的环境。(——name等价于-n)

注意,如果您愿意,在创建和删除环境时,也可以使用-p /path/to/env而不是-n ENV_NAME将环境放置在您想要的任何位置。他们不必住在你的conda装置里。

更新,2019年1月30日:从Conda 4.6起,Conda activate命令成为激活所有平台环境的新官方方式。这些变化在Anaconda的博客文章中有描述

我的环境名称是:test

conda remove -n test --all