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?

Renato Damas
la source
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

holdenweb
la source
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
Renato Damas
la source
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
Harvey
la source
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
Simba
la source
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

srilekha palepu - Intel
la source
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.

Chris Keefe
la source
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
CodeUrLife
la source
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
Jason
la source
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}:

Srini
la source
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
Shilpa Shinde
la source
4

Cela a fonctionné pour moi:

conda env remove --name tensorflow
Arman Samimi
la source
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

Bhadru Bhukya
la source