webentwicklung-frage-antwort-db.com.de

Anaconda-Export-Umgebungsdatei

Wie kann ich eine Anaconda-Umgebungsdatei erstellen, die auf anderen Computern verwendet werden kann?

Ich exportierte meine anaconda python Umgebung nach YML mit conda env export > environment.yml. Das exportierte environment.yml enthält diese Zeile prefix: /home/superdev/miniconda3/envs/juicyenv die der Position meiner Anakonda entspricht, die auf anderen PCs anders sein wird.

82
Lau

Ich kann in den conda - Spezifikationen nichts finden, mit dem Sie eine Umgebungsdatei ohne die Zeile prefix: ... Exportieren können. Wie jedoch Alex betonte in den Kommentaren, scheint conda die Präfixzeile nicht zu interessieren, wenn sie eine Umgebung aus einer Datei erstellt.

Wenn Sie möchten, dass der andere Benutzer Ihren Standardinstallationspfad nicht kennt, können Sie die Präfixzeile mit grep entfernen, bevor Sie in environment.yml Schreiben.

conda env export | grep -v "^prefix: " > environment.yml

In beiden Fällen führt der andere Benutzer dann Folgendes aus:

conda env create -f environment.yml

und die Umgebung wird in ihrem Standardpfad für die Conda-Umgebung installiert.

Wenn Sie einen anderen Installationspfad als den Standardpfad für Ihr System angeben möchten (der nicht mit dem Präfix in der Datei environment.yml zusammenhängt), verwenden Sie einfach das Flag -p Gefolgt vom erforderlichen Pfad.

conda env create -f environment.yml -p /home/user/anaconda3/envs/env_name
108
Andrew Guy

Der einfachste Weg, um die Pakete aus einer Umgebung zu speichern, die auf einem anderen Computer installiert werden soll, ist:

$ conda list -e > req.txt

dann können Sie die Umgebung mit installieren

$ conda create -n new environment --file req.txt

wenn Sie pip verwenden, verwenden Sie bitte die folgenden Befehle: reference https://pip.pypa.io/en/stable/reference/pip_freeze/

$ env1/bin/pip freeze > requirements.txt
$ env2/bin/pip install -r requirements.txt
30
javac