A virtual environment (virtuali aplinka) yra izoliuota Python aplinka su savomis instaliuotomis paketais, atskirta nuo sisteminės Python ir nuo kitų projektų. Ji išsprendžia dependency conflicts (priklausomybių konfliktus) — skirtingi projektai gali naudoti skirtingas (net nesuderinamų) to paties paketo versijas.
Problema, kurią ji išsprendžia
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.
Be izoliavimo, globaliai instaliuojant paketus atsiranda versijų konfliktai tarp projektų ir gali sugesti sisteminiai įrankiai, kurie priklauso nuo konkrečių versijų.
