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.
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
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