Środowiska wirtualne – dlaczego są potrzebne
Zanim wpiszesz polecenie do stworzenia środowiska, przeanalizujmy problem, który ono rozwiązuje. Bez tego polecenie to tylko kolejna linia do zapamiętania.
Zanim pokażemy polecenie tworzenia środowiska wirtualnego, przyjrzyjmy się, do czego służy Ogólnie rzecz biorąc, jest to konieczne – w przypadku konkretnego problemu, z którym prędzej czy później wszyscy się zmierzą.
Wyobraź sobie następującą sytuację
Pracujesz nad dwoma projektami na tym samym komputerze:
- Projekt A to stary projekt edukacyjny wykorzystywany przez bibliotekę
requestswersja 2.25 (napisana dawno temu, na razie ją aktualizuj nie ma takiej potrzeby); - Projekt B jest nowym projektem, który potrzebuje świeżości
requestswersji 2.32 — są funkcje, których nie było w Stara wersja.
Gdyby istniał tylko jeden, współdzielony przez cały komputer Python własnym zestaw pakietów — Instalacja obu wersji tej samej biblioteki jednocześnie byłaby niemożliwa. Zainstalowanie nowej wersji Projektu B automatycznie przerwało Projektowi A.
Rozwiązanie: Własna kopia środowiska dla każdego projektu
Środowisko wirtualne (virtual environment, w skrócie venv) jest światłem, Izolowana „kopia”
Technicznie rzecz biorąc, nie jest to pełna kopia samego interpretera (nie marnuje ani gigabajta miejsca na każdy projekt) — venv ponownie wykorzystuje główną zainstalowaną Python, ale przygotowuje ją pod potrzeby projektu osobny, niezależny folder z pakietami. Dla ciebie jako programisty różnica jest niezauważalna: W środowisku aktywowanym pakiety zainstalowane dla tego samego projektu po prostu nie są widoczne do drugiego.
Nie chodzi tylko o konflikty wersji
Środowiska wirtualne mają inne praktyczne zalety:
- Powtarzalność - lista pakietów projektów można zapisywać w pliku oraz Dokładnie przywracaj to samo środowisko na innym komputerze.
- Czystość - Usunięcie środowiska projektu jest tak proste, jak usunięcie jego folder, nie wpływając na resztę systemu;
- Bezpieczeństwo systemów na macOS, a zwłaszcza na Linux (sekcja 2.5), jest To także sposób, by w ogóle nie dotykać systemowego Python.
Następna sekcja to polecenie stworzenia środowiska i rozróżnienia, co jest ono prawdziwe tworzy go na dysku.