Conda-Umgebung entfernen


222

Ich möchte eine bestimmte Umgebung entfernen, die mit conda erstellt wurde. Wie kann ich das erreichen? Angenommen, ich habe eine aktive Testumgebung. Ich habe versucht, anhand der folgenden Dokumentation :

$ conda env remove

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

Ich deaktiviere es dann:

$ source deactivate

Ich versuche erneut, den Befehl auszuführen, um ihn zu entfernen, und erhalte immer noch den gleichen Fehler. Was läuft hier falsch?


2
Stellen Sie sicher, dass Sie das Terminal als Administrator ausführen. Andernfalls werden Befehle erfolgreich ausgeführt, ohne dass ein Fehler ausgelöst wird, aber env wird nicht entfernt.
26 जयते

Antworten:


308

Sie haben die Conda-Umgebung wahrscheinlich nicht vollständig deaktiviert. Denken Sie daran, dass der Befehl, den Sie mit Conda verwenden müssen, lautet conda deactivate(für ältere Versionen verwenden source deactivate). Es kann daher ratsam sein, eine neue Shell zu starten und die Umgebung darin zu aktivieren, bevor Sie es versuchen. Dann deaktivieren Sie es.

Sie können den Befehl verwenden

conda env remove -n ENV_NAME

um die Umgebung mit diesem Namen zu entfernen. ( --nameentspricht -n)

Beachten Sie, dass Sie Umgebungen auch an einer beliebigen Stelle platzieren können, -p /path/to/envanstatt -n ENV_NAMEUmgebungen zu erstellen und zu löschen, wenn Sie dies wünschen. Sie haben nicht haben in Ihrem Conda Installation zu leben.

UPDATE, 30. Januar 2019 : Ab Conda 4.6 wird der conda activateBefehl zum neuen offiziellen Weg, um eine Umgebung auf allen Plattformen zu aktivieren. Die Änderungen werden in diesem Anaconda-Blogbeitrag beschrieben


Du hast recht, mein Fehler beim Schreiben des Beitrags. Ich meinte source deactivate. Vielen Dank
Renato Damas

4
Eigentlich kann man das auch benutzen conda deactivateund es funktioniert genauso. Zumindest in der Version 4.4.11
Renato Damas

Vielen Dank. Aber nicht nur deactivatealleine, oder?
Holdenweb

Ja, entweder source deactivateoderconda deactivate
Renato Damas

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

67

Geben Sie Folgendes ein, nachdem Sie sichergestellt haben, dass Ihre Umgebung nicht aktiv ist:

$ conda env remove --name ENVIRONMENT

3
Dies sind die Informationen, die ich brauchte. Wäre schön gewesen, wenn ich es conda env --helpgegeben hätte.
R. Schreurs

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

1
Ich habe einen Fehler bezüglich der Fehler beim Aktualisieren des Hilfetextes gemeldet, der für Anfänger als einfaches Problem eingestuft wurde. Es besteht also die Hoffnung auf eine Lösung.
Holdenweb

28

Offizielle Dokumentation Weg funktionierte für mich:

conda remove --name myenv --all

Oder einfach nur conda env remove --name myenv.

Führen Sie Folgendes aus, um zu überprüfen, ob die Umgebung entfernt wurde, in Ihrem Terminalfenster oder in einer Anaconda-Eingabeaufforderung:

conda info --envs

In der angezeigten Umgebungsliste sollte die entfernte Umgebung nicht angezeigt werden.

In Ihrem anaconda3-Umgebungsordner wird möglicherweise ein leerer Ordner mit einer gelöschten Umgebung in Ihrem anaconda3-Installationsordner aufgeführt, z.

/opt/anaconda3/envs

19

Insgesamt gibt es drei Möglichkeiten, dies zu erreichen. Angenommen, Sie haben eine Umgebung mit dem Namen myenv,

  1. conda env remove --name myenv, -nWird die Verknüpfung für --name.

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

  3. Löschen Sie den env-Ordner direkt. (Nicht empfohlen)

    # 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

Wenn Sie die Umgebung ohne Aufforderung löschen möchten , können Sie sie erneut überprüfen. Verwenden Sie -y, Verknüpfung für --yes. (Für den globalen Gebrauch überprüfen Sie die stille Eingabeaufforderung in conda )

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

Verweise

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

1
Und warum wird das direkte Löschen des env-Ordners nicht empfohlen? Was könnte möglicherweise falsch laufen?
NoName


13

Zuerst müssen Sie Ihre Umgebung deaktivieren, bevor Sie sie entfernen. Sie können die Conda-Umgebung mit dem folgenden Befehl entfernen

Angenommen, Ihr Umgebungsname lautet "sample_env". Sie können diese Umgebung mithilfe von entfernen

source deactivate    
conda remove -n sample_env --all

'--all' wird verwendet, um alle Abhängigkeiten zu entfernen


13

Mit dem Flag --prefixoder erstellte Umgebungen -pmüssen mit dem -pFlag entfernt werden ( nicht -n ).

Zum Beispiel:, conda remove -p </filepath/myenvironment> --allin dem </filepath/myenvironment>durch einen vollständigen oder relativen Pfad zur Umgebung ersetzt wird.


1
Mein Umgebungsname enthielt ein Leerzeichen wie mein env . Diese Methode conda env remove -p path/to/my\ envfunktionierte während conda env remove -n my\ envund conda env remove -n "my env"nicht.
Ben


8

Verwenden source deactivateSie diese Option, um die Umgebung vor dem Entfernen zu deaktivieren, und ersetzen Sie ENV_NAME durch die Umgebung, die Sie entfernen möchten:

source deactivate
conda env remove -n ENV_NAME

7
Eine Erklärung, was ein Code tut und wie dies das Problem in der Frage angeht, kann eine Antwort selten nicht verbessern.
MBT

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

7

Deaktivieren Sie zuerst die Umgebung und kehren Sie zur Basisumgebung zurück. Von der Basis aus sollten Sie in der Lage sein, den Befehl auszuführen conda env remove -n <envname>. Dies gibt Ihnen die Nachricht

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


5

Wenn Sie in der Basis sind :

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

Entfernen Sie env_name durch:

conda env remove -n env_name

Wenn Sie sich bereits in der Umgebung env_name befinden :

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

deaktivieren und entfernen durch:

conda deactivate env_name

conda env remove -n env_name

4

Das hat bei mir funktioniert:

conda env remove --name tensorflow

Hat auch für mich gearbeitet. conda env remove --name <name of your environment> Später können Sie den Umgebungsordner vom Installationsort von Anaconda oder Miniconda löschen Anaconda\envs\<name of your environment>oderMiniconda\envs\<name of your environment>
Giriraj Pawar

1

So entfernen Sie die gesamte Conda-Umgebung:

conda remove --name YOUR_CONDA_ENV_NAME --all


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.