Eliminar el entorno de Conda

223

Quiero eliminar un determinado entorno creado con conda. ¿Cómo puedo lograr eso? Digamos que tengo un entorno testenv activo. Intenté, siguiendo la documentación , con:

$ conda env remove

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

Luego lo desactivo:

$ source deactivate

Intento ejecutar nuevamente el comando para eliminarlo y sigo teniendo el mismo error. ¿Qué está pasando mal aquí?

Renato Damas
fuente
2
Asegúrese de ejecutar el terminal como administrador; de lo contrario, los comandos se ejecutarán con éxito sin generar ningún error, pero no se eliminará env.
सत्यमेव जयते

Respuestas:

308

Probablemente no desactivó por completo el entorno de Conda; recuerde, el comando que debe usar con Conda es conda deactivate(para versiones anteriores, use source deactivate). Por lo tanto, puede ser conveniente iniciar un nuevo shell y activar el entorno antes de intentarlo. Luego desactívelo.

Puedes usar el comando

conda env remove -n ENV_NAME

para eliminar el entorno con ese nombre. ( --namees equivalente a -n)

Tenga en cuenta que también puede colocar entornos en cualquier lugar que desee usar en -p /path/to/envlugar de -n ENV_NAMEcrear y eliminar entornos, si lo desea. No tienen que vivir en su instalación de conda.

ACTUALIZACIÓN, 30 de enero de 2019 : desde Conda 4.6 en adelante, el conda activatecomando se convierte en la nueva forma oficial de activar un entorno en todas las plataformas. Los cambios se describen en esta publicación de blog de Anaconda

holdenweb
fuente
Tienes razón, mi error al escribir la publicación. Me refería source deactivate. Gracias
Renato Damas
44
En realidad, también puedes usarlo conda deactivatey funciona igual. Al menos en la versión 4.4.11
Renato Damas
Gracias. Pero no solo deactivate, ¿verdad?
holdenweb
Sí, source deactivateo bienconda deactivate
Renato Damas
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924
68

Después de asegurarse de que su entorno no esté activo, escriba:

$ conda env remove --name ENVIRONMENT
Renato Damas
fuente
3
Esta es la información que necesitaba. Hubiera sido agradable si lo conda env --helphubiera dado.
R. Schreurs
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924
1
Envié un error sobre fallas al actualizar el texto de ayuda, y fue marcado como un problema fácil para principiantes, por lo que hay esperanza de una solución.
holdenweb
28

La forma de documentación oficial funcionó para mí:

conda remove --name myenv --all

O simplemente conda env remove --name myenv.

Para verificar que se eliminó el entorno, en la ventana de su terminal o en un símbolo de Anaconda, ejecute:

conda info --envs

La lista de entornos que se muestra no debe mostrar el entorno eliminado.

Su carpeta de entornos anaconda3 puede incluir una carpeta vacía del entorno eliminado en su carpeta de instalación anaconda3, como:

/opt/anaconda3/envs
Harvey
fuente
19

Hay 3 formas de lograr esto en total. Suponiendo que tiene un entorno llamado myenv,

  1. conda env remove --name myenv, -nes atajo para --name.

  2. conda remove --name myenv --all.

  3. Eliminar la carpeta env directamente. (No recomendado)

    # 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

Si desea eliminar el entorno sin que se le solicite que lo verifique nuevamente. Uso -y, atajo para --yes. (Para uso global, consulte el aviso silencioso en conda )

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

Referencias

  • conda env --help
  • conda remove --help
Simba
fuente
1
¿Y por qué no se recomienda eliminar la carpeta env directamente? ¿Qué podría salir mal?
NoName
14

Puede intentar lo siguiente: Abra el símbolo del sistema anaconda y escriba

conda remove --name myenv --all

Esto eliminará todo el entorno.

Más información: docs.conda.io> Administrar entornos

Muhamad Mohsin
fuente
13

Primero debe desactivar su entorno antes de eliminarlo. Puede eliminar el entorno conda con el siguiente comando

Supongamos que el nombre de su entorno es "sample_env", puede eliminar este entorno utilizando

source deactivate    
conda remove -n sample_env --all

'--todos' se usará para eliminar todas las dependencias

srilekha palepu - Intel
fuente
13

Los entornos creados con el indicador --prefixo -pdeben eliminarse con el -pindicador ( no -n ).

Por ejemplo:, conda remove -p </filepath/myenvironment> --allen el que </filepath/myenvironment>se sustituye con una ruta completa o relativa al entorno.

Chris Keefe
fuente
1
El nombre de mi entorno incluía un espacio, como mi env . Este método, conda env remove -p path/to/my\ envfuncionó mientras conda env remove -n my\ envy conda env remove -n "my env"no.
Ben
11

El nombre de mi entorno es: prueba

conda remove -n test --all
CodeUrLife
fuente
8

Use source deactivatepara desactivar el entorno antes de eliminarlo, reemplace ENV_NAME con el entorno que desea eliminar:

source deactivate
conda env remove -n ENV_NAME
Jason
fuente
77
Una explicación, qué hace un código y cómo esto resuelve el problema en la pregunta, rara vez falla en mejorar una respuesta.
MBT
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENV_NAME
user924
7

Primero desactive el entorno y regrese al entorno base. Desde la base, debería poder ejecutar el comando conda env remove -n <envname>. Esto te dará el mensaje

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

Srini
fuente
5

si estás en la base :

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

eliminar env_name por:

conda env remove -n env_name

si ya está en el entorno env_name :

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

desactivar y luego eliminar mediante:

conda deactivate env_name

conda env remove -n env_name
Shilpa Shinde
fuente
4

Esto funcionó para mí:

conda env remove --name tensorflow
Arman Samimi
fuente
A mí también me funcionó. conda env remove --name <name of your environment> Más tarde, puede eliminar la carpeta de entorno de la ubicación de instalación de Anaconda o miniconda Anaconda\envs\<name of your environment>oMiniconda\envs\<name of your environment>
Giriraj Pawar
1

Para eliminar el entorno completo de conda:

conda remove --name YOUR_CONDA_ENV_NAME --todos

Bhadru Bhukya
fuente