Wie kann ich eine Anaconda-Umgebungsdatei erstellen, die auf anderen Computern verwendet werden kann?
Ich habe meine Anaconda-Python-Umgebung mit nach YML exportiert conda env export > environment.yml
. Die exportierte environment.yml
enthält diese Zeile, prefix: /home/superdev/miniconda3/envs/juicyenv
die dem Standort meiner Anakonda zugeordnet ist, der sich auf den PCs anderer unterscheidet.
conda env create -f environment.yml
Abgesehen davon sollten Sie in der Lage sein, dies zu tun. Meiner Erfahrung nach wird dies nicht plattformübergreifend funktionieren, da conda env unter Windows viele Abhängigkeiten wie "vs2015_runtime" auflistet. Aber das ist natürlich nicht unter Linux verfügbar.environment.yml
Datei von Hand zu erstellen , damit Sie sie weglassen könnenAntworten:
Ich kann in den
conda
Spezifikationen nichts finden, was es Ihnen ermöglicht, eine Umgebungsdatei ohne dieprefix: ...
Zeile zu exportieren . Wie Alex in den Kommentaren betonte, scheint sich conda beim Erstellen einer Umgebung aus einer Datei nicht um die Präfixzeile zu kümmern.Mit dem im Verstand, wenn Sie die anderen Benutzer wollen Pfad keine Kenntnis von Ihrem Standard haben , installieren Sie das Präfix entsprechend entfernen können
grep
vor dem Schreiben zuenvironment.yml
.In beiden Fällen führt der andere Benutzer dann Folgendes aus:
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 (nicht in Bezug auf 'Präfix' in der Datei environment.yml), verwenden Sie einfach das
-p
Flag gefolgt vom erforderlichen Pfad.Beachten Sie, dass Conda empfiehlt, das
environment.yml
von Hand zu erstellen. Dies ist besonders wichtig, wenn Sie Ihre Umgebung plattformübergreifend (Windows / Linux / Mac) freigeben möchten. In diesem Fall können Sie dieprefix
Zeile einfach weglassen .quelle
Der einfachste Weg, um die Pakete aus einer Umgebung zu speichern, die auf einem anderen Computer installiert werden soll, ist:
dann können Sie die Umgebung mit installieren
Wenn Sie verwenden
pip
, verwenden Sie bitte die folgenden Befehle: Referenz https://pip.pypa.io/en/stable/reference/pip_freeze/quelle
Linux
Windows
Begründung:
conda env export
Enthält standardmäßig die Build-Informationen:Sie können stattdessen Ihre Umgebung ohne Build-Informationen exportieren:
Dadurch wird die Umgebung von der Python-Version und dem Betriebssystem getrennt.
quelle
Ich finde, dass das Exportieren der Pakete nur im String-Format portabler ist als das Exportieren der gesamten
conda
Umgebung. Wie die vorherige Antwort bereits angedeutet hat:Dies
requirements.txt
enthält jedoch Build-Nummern, die nicht zwischen Betriebssystemen portierbar sind, z . B. zwischenMac
undUbuntu
. In habenconda env export
wir die Option,--no-builds
aber nicht mitconda list -e
, so dass wir die Build-Nummer entfernen können, indem wir den folgenden Befehl ausgeben:Und erstellen Sie die Umgebung auf einem anderen Computer neu:
quelle
sed
Befehl funktionierte ziemlich gut. Ich musste eine Patch-Version löschen. Alsomajor.minor.patch
zumajor.minor
und es hat funktioniert. Es stellte sich heraus, dass die niedrigere Patch-Nummer von den Haupt-Repos gelöscht wurde.quelle