2016-01-25 9 views
5

Ich habe eine virtualenv befindet sich unter /home/user/virtualenvs/Environment. Jetzt brauche ich diese Umgebung an einem anderen PC. Also habe ich virtualenv-clone installiert und verwendet, um /Environment zu klonen. Dann habe ich es über USB auf den anderen PC kopiert. Ich kann es mit source activate aktivieren, aber wenn ich versuche, mit sudo ./Environment/bin/python das Python-Interpreter zu starten ichKopie komplette virtualenv auf einen anderen PC

./bin/python: 1: ./bin/python: Syntax Error: "(" unexpected 

Executing es ohne sudo gibt mir eine Fehlermeldung erhalte mir zu sagen, dass es ein Fehler in dem Binärdateien Format. Aber wie kann das sein? Ich habe es einfach kopiert. Oder gibt es einen besseren Weg, dies zu tun? Ich kann nicht einfach pip freeze verwenden, weil es einige Pakete in /Environment/lib/python2.7/site-packages/ gibt, die ich selbst geschrieben habe, und ich muss sie auch kopieren. Wie ich es verstehe pip freeze erstellt nur eine Liste von Paketen, die pip dann herunterladen und installieren.

+0

Wie sind diese Pakete überhaupt in Site-Pakete gelangt? Sie müssen sie installiert haben, und sie müssen sicher in der Versionskontrolle vorhanden sein. –

+0

Ich habe einen Ordner erstellt, ein '__init __. Py' hinzugefügt und meine Module dort eingefügt, damit ich sie von meinem Projekt aus aufrufen kann, welches den virtualenv verwendet. – vicco

+0

Nun, das sollten Sie nicht tun. Wie beabsichtigen Sie, diese Bibliotheken bereitzustellen? Sie müssen sie irgendwo online stellen, wo sie installiert werden können, und Sie müssen sie so verpacken, dass sie per Pip installiert werden können. Oder wenn sie nur Teil Ihres Projekts sind, sollten sie in Ihrem Projekt selbst sein. –

Antwort

5

Haben Schritte auf Quellmaschine folgende

  1. WorkON [environment_name]
  2. pip freeze> requirements.txt
  3. Kopie requirements.txt zu anderen PC

Auf anderen PC

  1. erstellen Sie eine virtuelle Umgebung mit mkvirtualenv [ environment_name]
  2. WorkON [environment_name]
  3. pip installieren -r requirements.txt

Sie getan werden sollte!

similar questionHow to Copy/Clone a Virtual Environment from Server to Local Machine

+0

Kopiert das auch die Pakete in 'site-packages', die ich selbst geschrieben habe? – vicco

+0

Es erstellt eine Replik der Arbeitsumgebung auf dem Quellcomputer. Es wird herunterladen, was es allein braucht –

+0

Ich verstehe nicht ganz, wie es die Pakete, die ich selbst geschrieben habe, aus einer Textdatei neu erstellen kann? Die requirements.txt enthält nur Pakete, die heruntergeladen werden können. – vicco

1

denke ich, was passiert, ist, dass Sie die symbolischen Links in der Quelldatei auf dem Zielcomputer als binäre Dateien einfach kopieren (nicht mehr Links). Sie sollten es mit rsync -l kopieren, um diese Links zu behalten.

Verwandte Themen