Suppression de l'environnement Conda


223

Je veux supprimer un certain environnement créé avec conda. Comment puis-je y parvenir? Disons que j'ai un environnement testenv actif. J'ai essayé, en suivant la documentation , avec:

$ conda env remove

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

Je le désactive ensuite:

$ source deactivate

J'essaie de relancer la commande pour la supprimer et j'obtiens toujours la même erreur. Qu'est-ce qui ne va pas ici?


2
Assurez-vous que vous exécutez le terminal en tant qu'administrateur, sinon les commandes s'exécuteront correctement sans générer d'erreur, mais env ne sera pas supprimé.
सत्यमेव जयते

Réponses:


308

Vous n'avez probablement pas complètement désactivé l'environnement Conda - rappelez-vous, la commande que vous devez utiliser avec Conda est conda deactivate(pour les anciennes versions, utilisez source deactivate). Il peut donc être judicieux de démarrer un nouveau shell et d'activer l'environnement dans celui-ci avant d'essayer. Désactivez-le ensuite.

Vous pouvez utiliser la commande

conda env remove -n ENV_NAME

pour supprimer l'environnement portant ce nom. ( --nameéquivaut à -n)

Notez que vous pouvez également placer des environnements où vous le souhaitez -p /path/to/envau lieu de -n ENV_NAMEcréer et de supprimer des environnements, si vous le souhaitez. Ils ne doivent vivre dans votre installation de Conda.

MISE À JOUR, 30 janvier 2019 : à partir de Conda 4.6, la conda activatecommande devient la nouvelle façon officielle d'activer un environnement sur toutes les plateformes. Les changements sont décrits dans ce billet de blog Anaconda


Vous avez raison, mon erreur en écrivant le post. Je voulais dire source deactivate. Merci
Renato Damas

4
En fait, vous pouvez également l'utiliser conda deactivateet cela fonctionne également. Au moins dans la version 4.4.11
Renato Damas

Merci. Mais pas tout deactivateseul, non?
holdenweb

Oui, source deactivateouconda deactivate
Renato Damas

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

68

Après vous être assuré que votre environnement n'est pas actif, tapez:

$ conda env remove --name ENVIRONMENT

3
Ce sont les informations dont j'avais besoin. Cela aurait été bien si conda env --helpje l'avais donné.
R. Schreurs

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

1
J'ai soumis un bug concernant les échecs de mise à jour du texte d'aide, et il a été signalé comme un problème facile pour les débutants, il y a donc un espoir de correction.
holdenweb

28

La documentation officielle a fonctionné pour moi:

conda remove --name myenv --all

Ou tout simplement conda env remove --name myenv.

Pour vérifier que l'environnement a été supprimé, dans votre fenêtre de terminal ou une invite Anaconda, exécutez:

conda info --envs

La liste des environnements qui s'affiche ne doit pas montrer l'environnement supprimé.

Votre dossier d'environnements anaconda3 peut répertorier un dossier vide de l'environnement supprimé dans votre dossier d'installation anaconda3, comme:

/opt/anaconda3/envs

19

Il y a 3 façons de réaliser cela au total. En supposant que vous ayez un environnement nommé myenv,

  1. conda env remove --name myenv, -nest un raccourci pour --name.

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

  3. Supprimez directement le dossier env. (Non recommandé)

    # 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 vous souhaitez supprimer l'environnement sans invite à vous laisser vérifier à nouveau. Utilisez -y, raccourci pour --yes. (Pour une utilisation globale, vérifiez l' invite silencieuse dans conda )

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

Références

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

1
Et pourquoi la suppression directe du dossier env n'est-elle pas recommandée? Qu'est ce qui pourrait aller mal?
NoName


13

Vous devez d'abord désactiver votre environnement avant de le supprimer. Vous pouvez supprimer l'environnement conda à l'aide de la commande suivante

Supposons que le nom de votre environnement soit "sample_env", vous pouvez supprimer cet environnement en utilisant

source deactivate    
conda remove -n sample_env --all

'--all' sera utilisé pour supprimer toutes les dépendances


13

Les environnements créés avec l' indicateur --prefixou -pdoivent être supprimés avec l' -pindicateur ( non -n ).

Par exemple:, conda remove -p </filepath/myenvironment> --alldans lequel </filepath/myenvironment>est remplacé par un chemin d'accès complet ou relatif à l'environnement.


1
Mon nom d'environnement comprenait un espace, comme mon env . Cette méthode a conda env remove -p path/to/my\ envfonctionné pendant conda env remove -n my\ envet conda env remove -n "my env"non.
Ben

11

Le nom de mon environnement est: test

conda remove -n test --all

8

Utilisez source deactivatepour désactiver l'environnement avant de le supprimer, remplacez ENV_NAME par l'environnement que vous souhaitez supprimer:

source deactivate
conda env remove -n ENV_NAME

7
Une explication, ce que fait un code et comment cela résout le problème dans la question, échoue rarement à améliorer une réponse.
MBT

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

7

Désactivez d'abord l'environnement et revenez à l'environnement de base. Depuis la base, vous devriez pouvoir exécuter la commande conda env remove -n <envname>. Cela vous donnera le message

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


5

si vous êtes en base :

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

supprimer env_name par:

conda env remove -n env_name

si vous êtes déjà dans l' environnement env_name :

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

désactiver puis supprimer par:

conda deactivate env_name

conda env remove -n env_name

4

Cela a fonctionné pour moi:

conda env remove --name tensorflow

A aussi fonctionné pour moi. conda env remove --name <name of your environment> Plus tard, vous pouvez supprimer le dossier d'environnement de l'emplacement d'installation Anaconda ou miniconda Anaconda\envs\<name of your environment>ouMiniconda\envs\<name of your environment>
Giriraj Pawar

1

Pour supprimer un environnement conda complet:

conda remove --name YOUR_CONDA_ENV_NAME --all


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.