Kada razvijaš Python projekte, često je potrebno da koristiš različite verzije biblioteka za različite projekte. Ako instaliraš sve pakete globalno, brzo može doći do sukoba verzija. Rešenje je virtuelno okruženje — izolovani prostor za Python pakete, specifičan za svaki projekat.
Šta je venv
?
venv
je ugrađeni alat u Python 3 koji omogućava kreiranje lokalnog Python okruženja sa sopstvenim pip
-om i paketima — bez uticaja na ostatak sistema.
Kako se koristi venv
1. Instaliraj alat (ako već nije)
Na Ubuntu/Debian sistemima:
sudo apt install python3-venv
2. Kreiraj virtuelno okruženje
python3 -m venv venv
Ovo kreira folder venv/
sa svim što je potrebno.
3. Aktiviraj okruženje
U Bash terminalu:
source venv/bin/activate
Prompt će se promeniti, npr:(venv) korisnik@računar:~/projekat$
4. Instaliraj pakete
pip install numpy pandas matplotlib scipy numpy-stl ezdxf plyfile trimesh meshio
Oni će biti instalirani samo u okviru venv
, ne na sistemskom nivou.
5. Deaktiviraj okruženje
Kad završiš:
deactivate
Zašto koristiti venv
?
- Izoluje pakete po projektu
- Sprečava sukobe verzija
- Radi isto na svim operativnim sistemima
- Lako se briše (samo izbrišeš folder
venv/
)
Čuvanje instalacija
Da sačuvaš sve instalirane pakete:
pip freeze > requirements.txt
Kasnije možeš da ih ponovo instaliraš u novom okruženju:
pip install -r requirements.txt
Korišćenje virtuelnih okruženja preko venv
predstavlja jednu od osnovnih, ali i najvažnijih veština u svakodnevnom radu sa Pythonom — bilo da si početnik, istraživač, student ili profesionalni programer.
Bez izolacije okruženja, Python projekti vrlo brzo mogu postati neodrživi: različiti projekti mogu zahtevati različite verzije istih biblioteka, a instalacija paketa na sistemskom nivou često vodi do konflikata, preklapanja, pa čak i oštećenja sistemskih alata.
venv
rešava ovaj problem elegantno i jednostavno:
- svaki projekat ima svoje odvojeno okruženje,
- svi paketi se instaliraju lokalno i nezavisno,
- možeš lako da testiraš, razvijaš i menjaš biblioteke bez rizika po sistem.
Osim tehničke stabilnosti, venv
omogućava i bolju organizaciju rada. Kada koristiš requirements.txt
, možeš precizno dokumentovati zavisnosti projekta i lako ih podeliti sa drugima ili automatski rekonstruisati okruženje bilo gde — na drugom računaru, serveru ili u kontejneru.
Na kraju, venv
je alat koji pomaže da tvoj rad sa Pythonom bude čist, modularan, prenosiv i profesionalan. U modernom razvoju softvera, korišćenje virtuelnih okruženja više nije samo preporuka — to je standard.
Ako još uvek ne koristiš venv
— pravo je vreme da počneš.