
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 update
oder 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 anaconda
wird 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!