Wirtualne środowisko to izolowane środowisko Python z własnymi zainstalowanymi pakietami, oddzielone od systemowego Python i od innych projektów. Rozwiązuje to konflikty zależności — różne projekty mogą używać różnych (nawet niezgodnych) wersji tego samego pakietu.
Dlaczego to ważne
Project A needs Django 3.2
Project B needs Django 4.2
→ Installing globally, they CONFLICT — you can't have both versions system-wide.
Virtual environments give each project its OWN isolated set of packages.
Bez izolacji globalna instalacja pakietów prowadzi do konfliktów wersji między projektami i może zniszczyć narzędzia systemowe, które zależą od określonych wersji.
