ChatGPT解决这个技术问题 Extra ChatGPT

Removing Conda environment

I want to remove a certain environment created with conda. How can I achieve that? Let's say I have an active testenv environment. I tried, by following documentation, with:

$ conda env remove

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

I then deactivate it:

$ source deactivate

I try running again the command to remove it and I still get the same error. What is going wrong here?

Make sure you're running the terminal as an administrator otherwise commands will run successfully without throwing any error but env will not be removed.
did you try: conda env remove -n ENV_NAME?

h
holdenweb

You probably didn't fully deactivate the Conda environment - remember, the command you need to use with Conda is conda deactivate (for older versions, use source deactivate). So it may be wise to start a new shell and activate the environment in that before you try. Then deactivate it.

You can use the command

conda env remove -n ENV_NAME

to remove the environment with that name. (--name is equivalent to -n)

Note that you can also place environments anywhere you want using -p /path/to/env instead of -n ENV_NAME when both creating and deleting environments, if you choose. They don't have to live in your conda installation.

UPDATE, 30 Jan 2019: From Conda 4.6 onwards the conda activate command becomes the new official way to activate an environment across all platforms. The changes are described in this Anaconda blog post


You're right, my mistake when writing the post. I meant source deactivate. Thank you
Actually you can use conda deactivate as well and it works likewise. At least in the version 4.4.11
If deleting an environment leaves anything behind I'd imagine that the Anaconda team would appreciate a bug report.
also if you create a prefix it will work: conda env remove -p << prefix path >>
It's unlikely you'd mess anything up by removing the folder, but I'm a big fan of using recommended methods just in case anything changes.
r
renatodamas

After making sure your environment is not active, type:

$ conda env remove --name ENVIRONMENT

This is the information I needed. Would have been nice if conda env --help had given it.
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
I submitted a bug about failures to update the help text, and it was marked as an easy issue for beginners, so there's hope of a fix.
It is hard to believe that we need to come here to get this basic info. The conda website returns no information when 'delete environment' is used as search terms.
H
Hrvoje

Official documentation way worked for me:

conda remove --name myenv --all

Or just conda env remove --name myenv.

To verify that the environment was removed, in your terminal window or an Anaconda Prompt, run:

conda info --envs

The environments list that displays should not show the removed environment.

You anaconda3 enviroments folder might list an empty folder of deleted environment in your anaconda3 installation folder, like:

/opt/anaconda3/envs

M
M.Innat

If you are in base:

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

remove env_name by:

conda env remove -n env_name

if you are already in env_name environment :

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

deactivate then remove by :

conda deactivate
conda env remove -n env_name

conda deactivate does not accept arguments, just conda deactivate.
d
dipakbera

In my windows 10 Enterprise edition os this code works fine: (suppose for environment namely testenv)

conda env remove --name testenv

C
Chris Keefe

Environments created with the --prefix or -p flag must be removed with the -p flag (not -n).

For example: conda remove -p </filepath/myenvironment> --all, in which </filepath/myenvironment> is substituted with a complete or relative path to the environment.


My environment name included a space, like my env. This method, conda env remove -p path/to/my\ env worked while conda env remove -n my\ env and conda env remove -n "my env" did not.
S
Simba

There're 3 ways to achieve this in total. Assuming you have a environment named myenv,

conda env remove --name myenv, -n is shortcut for --name. conda remove --name myenv --all. Delete the env folder directly. (Not recommended) # 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

If you wanna delete the environment without a prompt to let you check again. Use -y, shortcut for --yes. (For global use check silent prompt in conda)

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

References

conda env --help

conda remove --help


And why is deleting the env folder directly not recommended? What could possibly go wrong?
@NoName Conda provides packages with a hookable pre-unlink event fired prior to package removal. Deleting directly would skip this. AFAICT, it's rarely used and mostly manages things internal to the env (e.g., a Jupyter extension will de-register itself with the Jupyter instance through such hooks), so deleting everything shouldn't break stuff. However, searching turns up some packages (e.g., FSL-related packages) that appear to register externally, in which case manual deletion might leave dangling references.
B
B--rian

You may try the following: Open anaconda command prompt and type

conda remove --name myenv --all

This will remove the entire environment.

Further reading: docs.conda.io > Manage Environments


0
0x90

To remove complete conda environment :

conda remove --name YOUR_CONDA_ENV_NAME --all


s
srilekha palepu - Intel

First you have to deactivate your environment before removing it. You can remove conda environment by using the following command

Suppose your environment name is "sample_env" , you can remove this environment by using

source deactivate    
conda remove -n sample_env --all

'--all' will be used to remove all the dependencies


f
francescalus

My environment name is: test

conda remove -n test --all

n
ntg

Use source deactivate to deactivate the environment before removing it, replace ENV_NAME with the environment you wish to remove:

source deactivate
conda env remove -n ENV_NAME

An explanation, what a code does and how this addresses the problem in the question, rarely fails to improve an answer.
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENV_NAME
d
dilip_nikhil

First deactivate the environment that you wish to remove. Then type the following code: conda env remove -n To make sure you have deleted it, you can use the following code. conda info --envs or conda env list

4.If you wan to remove all the dependencies along with the installed packages, you can use:

conda remove -n <environment name> --all

C
CAPSLOCK

First deactivate the environment and come back to the base environment. From the base, you should be able to run the command conda env remove -n <envname>. This will give you the message

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


B
Bart

This worked for me:

conda env remove --name tensorflow

Worked for me too. conda env remove --name <name of your environment> Later you can delete the environment folder from Anaconda or miniconda install location Anaconda\envs\<name of your environment> or Miniconda\envs\<name of your environment>
M
Mohamed TOUATI

if you are unfamiliar with the command line , you can remove it using the anaconda dashboard

https://i.stack.imgur.com/0AFqC.jpg


V
Vineet Singh

View the environments in Anaconda or miniconda:

conda env list

If you have created an environment using name then use:

conda remove -n envname --all

if you have created an environment using prefix then use:

conda remove -p [path] --all

Change the envname with your environment name and in case of prefix provide the complete path of the environment eg: C:/Users/techv/Desktop/project/env.
--all will remove all the dependencies of the target environment.

I hope this answer will be helpful.


J
Jaffer Al-Delphi

Because you can only deactivate the active environment, so conda deactivate does not need nor accept arguments. The error message is very explicit here.

Just call conda deactivate https://github.com/conda/conda/issues/7296#issuecomment-389504269


N
Nishant Singh

on terminal it's showing

(base) [root@localhost ~]#

simply hit command : conda deactivate

and you are out of conda env , now your prompt will look like

[root@localhost ~]#


The answer does not provide any new insights. It was already mentioned to run this command as root.