web-dev-qa-db-ger.com

Wie kann ich eine Conda-Umgebung offline installieren?

Ich möchte eine Conda-Umgebung auf einem Computer erstellen, der keine Netzwerkverbindung hat. Was ich bisher gemacht habe, ist:

Auf einer Maschine, die mit dem Internet verbunden ist:

conda create -n python3 python=3.4 anaconda

Conda archivierte alle relevanten Pakete in \Anaconda\pkgs. Ich habe diese in einem separaten Ordner abgelegt und ohne Netzwerkverbindung auf den Computer verschoben. Der Ordner hat den Pfad PATHTO\Anaconda_py3\win-64

Ich habe es versucht

conda create -n python=3.4 anaconda --offline --channel PATHTO\Anaconda_py3

Dies gibt die Fehlermeldung 

Fetching package metadata:
Error: No packages found in current win-64 channels matching: anaconda

You can search for this package on Binstar with

    binstar search -t conda anaconda

Was mache ich falsch? Wie kann ich conda anweisen, eine Umgebung basierend auf den Paketen in diesem Verzeichnis zu erstellen?

30
WalkingRandomly

Sie könnten versuchen, root zu klonen, was die Basisumgebung ist.

conda create -n yourenvname --clone root

9
Arthur Alvim

Zusätzlich zum Kopieren des pkgs-Ordners müssen Sie ihn indizieren, damit conda die Abhängigkeiten finden kann. Siehe dieses Ticket für weitere Details und dieses Skript für ein Beispiel für die Indizierung des pkgs-Ordners.

Die Verwendung von --unknown als @asmeurer schlägt vor, dass dies nur funktioniert, wenn das zu installierende Paket keine Abhängigkeiten hat. Andernfalls wird der Fehler "Einige Abhängigkeiten nicht gefunden" angezeigt.

Klonen ist eine weitere Option, aber Sie erhalten alle Root-Pakete, die möglicherweise nicht Ihren Vorstellungen entsprechen.

3
hgcrpd

Hast du es ohne --offline probiert?

conda create -n anaconda python=3.4 --channel PATHTO\Anaconda_py3

Dies funktioniert für mich, wenn ich nicht mit dem Internet verbunden bin, wenn ich Anaconda bereits an der Maschine, aber an einem anderen Ort habe. Wenn Sie beim Ausführen dieses Befehls mit dem Internet verbunden sind, wird wahrscheinlich ein Fehler angezeigt, der darauf zurückzuführen ist, dass auf Binstar nichts gefunden wird.

2
hsparra

Hier ist, was für mich in Linux funktionierte -

(a) Erstellen Sie eine leere Umgebung - Erstellen Sie einfach ein leeres Verzeichnis unter $ CONDA_HOME/envs. Überprüfen Sie mit - conda info --envs.

(b) Aktivieren Sie die neue Env-Source-Aktivierung 

(c) Laden Sie das entsprechende Paket (* .bz2) von https://anaconda.org/anaconda/repo auf einem Computer mit Internetverbindung herunter und verschieben Sie es auf den isolierten Host. 

(d) Installation mit lokalem Paket - conda install. Zum Beispiel - conda install python-3.6.4-hc3d631a_1.tar.bz2, wobei sich python-3.6.4-hc3d631a_1.tar.bz2 im aktuellen Verzeichnis befindet.

Das ist es. Sie können es mit den üblichen Mitteln überprüfen (Python -V, Conda List -n). Alle zugehörigen Pakete können auf dieselbe Weise installiert werden.

1
nocturno

Das pkgs-Verzeichnis ist kein Kanal. Das gesuchte Flag ist --unknown, wodurch Conda Dateien in das Verzeichnis pkgs einschließt, auch wenn sie nicht in einem der Kanäle gefunden werden. 

1
asmeurer

Ich bin mir nicht sicher, ob dies den anderen Antworten widerspricht oder nicht, aber ich habe die Anweisungen in Conda-Dokumentation befolgt und einen Kanal im lokalen Dateisystem eingerichtet.

Dann ist es eine einfache Sache, neue Paketdateien in das lokale Verzeichnis zu verschieben, indem Sie conda index für den Kanal-Unterordner ausführen (der einen Namen wie linux-64 Haben sollte).

Ich habe auch die Anaconda-Konfigurationseinstellung offline auf True gesetzt, wie beschrieben hier , bin mir aber nicht sicher, ob dies wesentlich war.

Ich hoffe, das hilft.

1
Bill

Ich fand die einfachste Methode wie folgt:

  1. Führen Sie 'conda create - name name package ' ohne spezielle Schalter aus
  2. Kopieren Sie die URL des ersten Pakets, dessen Download erfolglos versucht wurde
  3. Verwenden Sie die URL auf einem verbundenen Computer, um die tar.bz2 abzurufen
  4. Kopieren Sie die tar.bz2 nach/home / user / anaconda3/pkgs der Offline-Maschine
  5. Stellen Sie das tar.bz2 bereit
  6. Löschen Sie das jetzt nicht mehr benötigte tar.bz2
  7. Wiederholen Sie den Vorgang, bis der Befehl 'conda create' erfolgreich ist
0
Urhixidur