删除Conda环境


222

我想删除使用conda创建的特定环境。我该如何实现?假设我有一个活跃的testenv环境。我通过遵循文档尝试了:

$ conda env remove

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

然后我将其停用:

$ source deactivate

我尝试再次运行命令将其删除,但仍然出现相同的错误。这是怎么了?


2
确保您以管理员身份运行终端,否则命令将成功运行而不会引发任何错误,但是不会删除env。
सत्यमेवजयते

Answers:


306

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

您可以使用以下命令

conda env remove -n ENV_NAME

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

请注意,您也可以将环境放置在要使用的任何位置,-p /path/to/env而不是-n ENV_NAME同时创建和删除环境(如果选择)。他们不具备住在你的畅达安装。

更新,2019年1月30日:从Conda 4.6起,该conda activate命令成为激活所有平台环境的新官方方式。更改在此Anaconda博客文章中进行了描述


没错,写这篇文章时我的错误。我是说source deactivate。谢谢
Renato Damas

4
实际上,您也可以使用conda deactivate,它也可以使用。至少在4.4.11版本
雷纳托·达马斯

谢谢。但不仅是deactivate它自己,对不对?
holdenweb

是的,source deactivate或者conda deactivate
Renato Damas

EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924

67

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

$ conda env remove --name ENVIRONMENT

3
这是我需要的信息。如果conda env --help给它本来会很好。
R. Schreurs,

EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924

1
我提交了一个有关无法更新帮助文本的错误,对于初学者来说这是一个容易解决的问题,因此希望可以进行修复。
holdenweb '19

28

官方文档对我有用:

conda remove --name myenv --all

或者只是conda env remove --name myenv

要验证是否已删除环境,请在您的终端窗口或Anaconda Prompt中运行:

conda info --envs

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

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

/opt/anaconda3/envs

19

总共有3种方法可以实现此目的。假设您有一个名为的环境myenv

  1. conda env remove --name myenv-n是的快捷方式--name

  2. conda remove --name myenv --all

  3. 直接删除env文件夹。(不建议)

    # list environments and their locations
    conda env list
    # or
    # conda info --envs
    
    # delete the folder listed
    rm -rf /Users/username/.local/share/conda/envs/myenv

如果您想删除环境而没有提示让您再次检查。使用的-y快捷方式--yes。(对于全局使用,请检查conda中的无提示提示

conda env remove -n myenv -y
conda remove -n myenv --all -y

参考资料

  • conda env --help
  • conda remove --help

1
为什么不建议直接删除env文件夹?可能出什么问题了?
NoName


13

首先,您必须先停用环境,然后再将其删除。您可以使用以下命令删除conda环境

假设您的环境名称为“ sample_env”,则可以使用删除此环境

source deactivate    
conda remove -n sample_env --all

'--all'将用于删除所有依赖项


13

--prefix-p标志创建的环境必须用-p标志(not -n)删除。

例如: conda remove -p </filepath/myenvironment> --all,其中</filepath/myenvironment>用到环境的完整或相对路径代替。


1
我的环境名称包含一个空格,例如我的env。这种方法,conda env remove -p path/to/my\ env工作时conda env remove -n my\ envconda env remove -n "my env"没有。


8

用于source deactivate在删除环境之前停用它,将ENV_NAME替换为您要删除的环境:

source deactivate
conda env remove -n ENV_NAME

7
解释,代码的功能以及如何解决问题中的问题,很少会改善答案。
MBT

EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENV_NAME
user924

7

首先停用环境,然后返回基本环境。从基础上,您应该能够运行命令conda env remove -n <envname>。这会给你消息

Remove all packages in environment C:\Users\<username>\AppData\Local\Continuum\anaconda3\envs\{envname}:


5

如果您在基地

(base) HP-Compaq-Elite-8300-CMT:~$ 

通过以下方式删除env_name

conda env remove -n env_name

如果您已经在env_name环境中:

(env_name) HP-Compaq-Elite-8300-CMT:~$ 

停用然后通过以下方式删除:

conda deactivate env_name

conda env remove -n env_name

4

这为我工作:

conda env remove --name tensorflow

也为我工作。conda env remove --name <name of your environment> 稍后,您可以从Anaconda或miniconda安装位置Anaconda\envs\<name of your environment>Miniconda\envs\<name of your environment>
Giriraj Pawar


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.