Μεταφορά έργου σε εικονικό περιβάλλον στην Python

Συχνά προκύπτουν καταστάσεις όπου χρειάζεται να μεταφερθεί ένα έργο σε έναν νέο φάκελο, για παράδειγμα, σε έναν νέο διακομιστή. Ας δούμε πώς μπορεί να γίνει αυτό με ένα εικονικό περιβάλλον στην Python.

Αρχικά, δημιουργούμε έναν νέο φάκελο new_project_ven, στον οποίο θα μεταφέρουμε το έργο από τον project_ven:

Στη συνέχεια, αντιγράφουμε όλα τα εγκατεστημένα πακέτα από το εικονικό περιβάλλον project_ven. Αυτό γίνεται με την ακόλουθη εντολή:

terminalpython -m pip freeze > req.txt

Αριστερά από τη λέξη freeze τοποθετείται η γωνιακή αγκύλη και το όνομα του αρχείου στο οποίο θα βρίσκεται πληροφορία για τα πακέτα. Σε εμάς, ένα τέτοιο αρχείο ονομάζεται req.txt, αλλά το όνομά του μπορεί να είναι οποιοδήποτε. Μετά την εκτέλεση της εντολής στον φάκελο του έργου θα εμφανιστεί ένα νέο αρχείο:

Στη συνέχεια, πρέπει να αντιγράψετε τον φάκελο project1, στον οποίο βρίσκονται ήδη δύο αρχεία: main.py και req.txt. Έπειτα, τον επικολλάτε στον φάκελο new_project_venv:

Τώρα βγαίνουμε από το τρέχον εικονικό περιβάλλον:

terminaldeactivate

Στη συνέχεια, στο τερματικό πρέπει να μεταβείτε στον φάκελο new_project_venv/project1. Μετά από αυτό, θα πρέπει να δημιουργήσετε ένα νέο εικονικό περιβάλλον για το νέο έργο:

terminalpython -m venv ..

Στη συνέχεια, ενεργοποιούμε το νέο μας περιβάλλον:

terminal..\Scripts\activate    # για Windows
source ../bin/activate # για Linux

Μετά από αυτό, στο τερματικό θα δείτε το όνομα του νέου εικονικού περιβάλλοντος:

terminal(new_project_venv)

Τώρα πρέπει να επαναφέρουμε τα πακέτα από το αρχικό έργο. Για αυτό χρησιμοποιούμε την ακόλουθη εντολή:

terminalpip install -r req.txt

Μετά από μια επιτυχημένη εγκατάσταση της βιβλιοθήκης, θα εμφανιστεί το ακόλουθο μήνυμα:

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

Μεταφέρετε το έργο που δημιουργήσατε σε ένα νέο εικονικό περιβάλλον.

Задание 2

Επαναφέρετε στο νέο έργο όλες τις βιβλιοθήκες από τον αρχικό φάκελο. Ελέγξτε τη λειτουργία των εγκατεστημένων βιβλιοθηκών.