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í?


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


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

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

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

1
¿Y por qué no se recomienda eliminar la carpeta env directamente? ¿Qué podría salir mal?
NoName


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


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.


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


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

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}:


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

4

Esto funcionó para mí:

conda env remove --name tensorflow

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


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.