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?

Renato Damas
quelle
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

holdenweb
quelle
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
Renato Damas
quelle
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
Harvey
quelle
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
Simba
quelle
1
Und warum wird das direkte Löschen des env-Ordners nicht empfohlen? Was könnte möglicherweise falsch laufen?
NoName
14

Sie können Folgendes versuchen: Öffnen Sie die Eingabeaufforderung anaconda und geben Sie ein

conda remove --name myenv --all

Dadurch wird die gesamte Umgebung entfernt.

Weiterführende Literatur: docs.conda.io> Umgebungen verwalten

Muhamad Mohsin
quelle
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

Srilekha Paläpu - Intel
quelle
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.

Chris Keefe
quelle
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
11

Mein Umgebungsname lautet: test

conda remove -n test --all
CodeUrLife
quelle
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
Jason
quelle
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}:

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

Das hat bei mir funktioniert:

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

Bhadru Bhukya
quelle