我想删除一个用conda创建的特定环境。我怎样才能做到呢?假设我有一个活动的testenv环境。通过以下文档,我尝试了:
$ conda env remove
CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again
然后我停用它:
$ source deactivate
我尝试再次运行命令删除它,我仍然得到相同的错误。这里出了什么问题?
我想删除一个用conda创建的特定环境。我怎样才能做到呢?假设我有一个活动的testenv环境。通过以下文档,我尝试了:
$ conda env remove
CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again
然后我停用它:
$ source deactivate
我尝试再次运行命令删除它,我仍然得到相同的错误。这里出了什么问题?
当前回答
在删除环境之前使用source deactivate来禁用它,将ENV_NAME替换为你想要删除的环境:
source deactivate
conda env remove -n ENV_NAME
其他回答
您可能没有完全禁用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 tensorflow
因为只能停用活动环境,所以conda deactivate不需要也不接受参数。这里的错误消息非常明确。
叫conda去激活 https://github.com/conda/conda/issues/7296#issuecomment-389504269
使用——前缀或-p标志创建的环境必须使用-p标志(而不是-n)删除。
例如: Conda remove -p </filepath/myenvironment>——all,其中</filepath/myenvironment>被替换为到环境的完整或相对路径。
正式文件的方式对我来说很管用:
conda remove --name myenv --all
或者叫conda env remove,叫myenv。
要验证环境是否已删除,请在终端窗口或Anaconda提示符中运行:
conda info --envs
所显示的环境列表不应显示已删除的环境。
你的anaconda3环境文件夹可能会在你的anaconda3安装文件夹中列出一个已删除环境的空文件夹,例如:
/opt/anaconda3/envs