Rozdział 2 · Ustaw Python!

Ś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:

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.

To nie jest hipotetyczny scenariusz
Ten problem jest głównym powodem, dla którego środowiska wirtualne stały się standardem w świecie Python. Bez nich dwa projekty na tym samym komputerze muszą dzielić te same wersje wszystkich bibliotek — a każda aktualizacja jednego projektu grozi cichym uszkodzeniem drugiego.

Rozwiązanie: Własna kopia środowiska dla każdego projektu

Środowisko wirtualne (virtual environment, w skrócie venv) jest światłem, Izolowana „kopia”

To samoPython nakomputer. venv Projektu Arequests 2.25, tylko dlaProjektu A.venv projektu Brequests 2,32, tylko dlaprojektu B
Każdy projekt otrzymuje swoją izolowaną kopię — wersje pakietów nie kolidują

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.

Analogia
Wirtualne środowisko — jak osobne, oznakowane pudełko z narzędziami dla każdego projektu, a nie jedna wspólna półka dla wszystkich. Wzięli młotek z pudełka projektu A — projekt B nawet się o tym nie dowie.

Nie chodzi tylko o konflikty wersji

Środowiska wirtualne mają inne praktyczne zalety:

Następna sekcja to polecenie stworzenia środowiska i rozróżnienia, co jest ono prawdziwe tworzy go na dysku.