Übertragung eines Projekts in einer virtuellen Umgebung in Python

Oft gibt es Situationen, in denen man ein Quellprojekt in einen neuen Ordner übertragen muss, zum Beispiel auf einen neuen Server. Lassen Sie uns herausfinden, wie man das mit einer virtuellen Umgebung in Python machen kann.

Zuerst erstellen wir einen neuen Ordner new_project_ven, in den wir das Projekt aus project_ven übertragen:

Als nächstes kopieren wir alle installierten Pakete aus der virtuellen Umgebung project_ven. Dies geschieht mit dem folgenden Befehl:

terminalpython -m pip freeze > req.txt

Links vom Wort freeze wird eine spitze Klammer und der Name der Datei gesetzt, in der die Informationen über die Pakete gespeichert werden. Bei uns heißt diese Datei req.txt, aber ihr Name kann beliebig sein. Nach Ausführung des Befehls erscheint eine neue Datei im Projektordner:

Als nächstes muss der Ordner project1 kopiert werden, in dem bereits zwei Dateien liegen: main.py und req.txt. Dann fügen wir ihn in den Ordner new_project_venv ein:

Jetzt beenden wir die aktuelle virtuelle Umgebung:

terminaldeactivate

Dann muss in der Konsole in den Ordner new_project_venv/project1 gewechselt werden. Anschließend sollte eine neue virtuelle Umgebung für das neue Projekt erstellt werden:

terminalpython -m venv ..

Als nächstes aktivieren wir unsere neue Umgebung:

terminal..\Scripts\activate    # für Windows
source ../bin/activate # für Linux

Danach sehen Sie den Namen der neuen virtuellen Umgebung in der Konsole:

terminal(new_project_venv)

Jetzt müssen die Pakete aus dem ursprünglichen Projekt wiederhergestellt werden. Dazu wird der folgende Befehl verwendet:

terminalpip install -r req.txt

Nach erfolgreicher Installation der Bibliothek wird die folgende Meldung ausgegeben:

terminalSuccessfully installed numpy-1.26.4
Задание 1

Übertragen Sie Ihr erstelltes Projekt in eine neue virtuelle Umgebung.

Задание 2

Stellen Sie alle Bibliotheken aus dem ursprünglichen Ordner in dem neuen Projekt wieder her. Überprüfen Sie die Funktionalität der installierten Bibliotheken.