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

$ conda env remove

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

然后我停用它:

$ source deactivate

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


当前回答

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

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

其他回答

在我的windows 10企业版操作系统中,这段代码工作正常: (假设环境为testenv)

conda env remove --name testenv

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

$ conda env remove --name ENVIRONMENT

首先我从环境(tensorflow)签出:

conda deactivate

然后我删除环境:

conda remove -n tensorflow --all

张量流是我的环境的名字

你可以使用下面的命令检查你的env名称:

conda env list

正式文件的方式对我来说很管用:

conda remove --name myenv --all

或者叫conda env remove,叫myenv。

要验证环境是否已删除,请在终端窗口或Anaconda提示符中运行:

conda info --envs

所显示的环境列表不应显示已删除的环境。

你的anaconda3环境文件夹可能会在你的anaconda3安装文件夹中列出一个已删除环境的空文件夹,例如:

/opt/anaconda3/envs

您可能没有完全禁用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的博客文章中有描述