Wie erstelle ich einen lokalen Updateserver für Anaconda Python?

Wie erstelle ich einen lokalen Updateserver für Anaconda Python?

Ich habe eine Reihe vernetzter Computer, die keinen Internetzugang haben. Auf jedem dieser Computer muss ich die Anaconda Python-Distribution installieren. Dies erfolgt derzeit durch manuelle Installation auf jedem Computer über einen freigegebenen Ordner auf einem Server.

Dadurch bleiben die Maschinen jedoch statisch auf die installierte Anaconda-Version eingestellt und können nicht mithilfe der Befehle aktualisiert werden conda update. Dies bedeutet auch, dass mit dem Befehl keine Umgebungen erstellt werden können conda create.

Ich möchte einen zentralen Server einrichten, auf dem wir die Anaconda Python-Versionen (also Python 2.7.x und Python 3.x) manuell verwalten können. Benutzer auf den anderen Rechnern würden dann auf diesen Update-Server verweisen und könnten mit den Befehlen conda updateoder einfach neue Umgebungen aktualisieren und sogar erstellen conda create.

Wie richte ich das ein?

Antwort1

Erstellen Sie einen HTTP-Server und kopieren Sie den gesamten Inhalt vonhttp://repo.continuum.io/pkgs/. Zeigen Sie mit einer .condarc-Datei auf diesen neuen Server.

Wählen Sie einen Webserver und legen Sie die im öffentlichen Repository (oben) genannten Dateien dort ab, mit identischer Verzeichnisstruktur (aber Sie benötigen den Teil /pkgs/free/ nicht). Verwenden Sie die Repository-Datei (z. B.http://repo.continuum.io/pkgs/free/linux-64/repodata.json), um alle Dateien zu ermitteln, sie abzurufen und auf Ihren internen Webserver zu legen.

Erstellen Sie dann eine .condarc-Datei mitdiese Vorlage, und stellen Sie Ihrem internen Webserver Folgendes zur Verfügung:

channels:
  - http://your.web.server/

Dies weist Conda an, Pakete aus Ihrem lokalen Repo und nicht aus dem öffentlichen Continuum-Repo abzurufen.

Sobald Sie dies getan haben, conda install anacondawird durch Ausführen des Befehls die neueste Version der Anaconda-Plattform aus Ihrem internen Repository heruntergeladen. Ich habe das oben genannte getan und kann bestätigen, dass es reibungslos funktioniert. Ein Wort der Warnung: Stellen Sie sicher, dass Sie das gesamte Repository spiegeln – versuchen Sie nicht, die Pakete, die Sie einbinden, zu optimieren!

verwandte Informationen