Ich möchte, dass die Root-Umgebung von conda alle Pakete in einer anderen Umgebung kopiert. Wie geht das?
Wenn Sie versuchen, Pakete aus einer zweiten Umgebung in die Stammumgebung zu importieren, Exportieren von Paketnamen aus der zweiten Umgebung in eine Yaml-Datei , dann Aktualisieren der ersten Umgebung . Führen Sie in der zweiten Umgebung Folgendes aus:
> conda env export > environment.yml
> conda env update -n root -f environment.yml
Sehen conda env
für weitere Details. Alternativ können Sie das mitgelieferte Desktop-Programm Anaconada Navigator verwenden, um eine grafischere Darstellung zu erhalten.
Vorschlag : Sichern Sie Ihre vorhandenen Umgebungen (siehe ersten Befehl), bevor Sie versuchen, Änderungen an root vorzunehmen, und überprüfen Sie das gewünschte Ergebnis, indem Sie diese Befehle in einer Demo-Umgebung testen.
Update : Siehe auch --clone
flag kann zum Klonen von Umgebungen verwendet werden:
> conda create --name myclone --clone myenv
Siehe docs für Details.
Um eine Kopie Ihrer Root-Umgebung (mit dem Namen base
) zu erstellen, können Sie den folgenden Befehl verwenden. hat für mich mit Anaconda3-5.0.1 gearbeitet:
conda create --name <env_name> --clone base
mit dem folgenden Befehl können Sie alle in der Conda-Umgebung installierten Pakete auflisten
conda list -n <env_name>
Wenn ich eine neue Umgebung einrichte und die Pakete aus der Basisumgebung in meiner neuen Umgebung benötige (was häufig der Fall ist), baue ich in der Eingabeaufforderung eine identische Conda-Umgebung auf, indem ich eine spec-file.txt verwende mit:
conda list --explicit> spec-file.txt
Die Spezifikationsdatei enthält die Pakete zum Beispiel der Basisumgebung.
Dann installiere ich mit der Eingabeaufforderung die Pakete in der neuen Umgebung:
conda install --name myenv --datei spec-file.txt
Die Pakete von base stehen dann in der neuen Umgebung zur Verfügung.
Der gesamte Prozess wird im Dokument: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#building-identical-conda-environments beschrieben