Python virtuális környezet létrehozása – venv Windows, Linux és macOS alatt

A Python virtuális környezet segítségével minden projekthez külön, elszigetelt Python-környezetet hozhatunk létre. Így az egyes projektek saját könyvtárakat és csomagverziókat használhatnak anélkül, hogy azok összeakadnának egymással.

Ebben az útmutatóban lépésről lépésre megmutatom, hogyan hozhatsz létre és aktiválhatsz projektkörnyezetet a beépített venv modullal Windows, Linux és macOS rendszeren, hogyan telepíthetsz csomagokat, hogyan léphetsz ki a környezetből, és hogyan használhatod ugyanezt PyCharmban.

Python virtuális környezet létrehozása venv segítségével Windows, Linux és macOS alatt

Mi az a Python virtuális környezet, és miért van rá szükség?

Amikor Pythonban dolgozol, egy projekthez gyakran különböző külső könyvtárakat és csomagokat telepítesz, például a requests, pandas vagy más Python-csomagokat. Ha ezeket minden projekthez ugyanabba a globális Python-környezetbe telepíted, idővel könnyen verzióütközések alakulhatnak ki.

Előfordulhat például, hogy az egyik projekt egy könyvtár régebbi verzióját igényli, míg egy másik projekt már az újabbat használja. Ha minden ugyanabba a Python-telepítésbe kerül, az egyik projekt frissítése akár a másikat is működésképtelenné teheti.

A venv környezet erre ad egyszerű megoldást. Egy különálló környezetet hoz létre az adott projekthez, amely saját telepített csomagokkal és csomagverziókkal rendelkezhet.
A Python beépített venv moduljával néhány paranccsal létrehozhatunk ilyen elszigetelt környezetet. Így minden projekt külön kezelhető, könnyebb karbantartani, és kisebb az esélye annak, hogy a különböző projektek függőségei összeakadnak.

Egyszerűen megfogalmazva: a virtuális környezet olyan, mintha minden Python-projekt saját külön Python-munkaterületet kapna.

A venv modul részletes működéséről a Python hivatalos dokumentációjában is olvashatsz.

Python virtuális környezet létrehozása Windows alatt

Windows alatt a virtuális környezet létrehozását elvégezheted a Parancssorban, a PowerShellben vagy a Windows Terminalban.

Először lépj be abba a mappába, ahol a Python-projekted található.

Példa:
				
					cd C:\projektek\sajat-projekt
				
			

Ezután hozd létre a virtuális környezetet a Python beépített venv moduljával:

				
					python -m venv venv
				
			

A parancs végén szereplő második venv a létrehozandó mappa neve. Ezt másképp is elnevezheted, például .venv-nek:

				
					python -m venv .venv
				
			

A .venv elnevezés sok projektben gyakori, mert egyértelműen jelzi, hogy a mappa a virtuális környezethez tartozik.

Ha a parancs sikeresen lefutott, a projekt mappájában megjelenik egy új venv vagy .venv könyvtár. Ebben találhatók majd a virtuális környezet saját Python-fájljai és telepített csomagjai.

Python virtuális környezet létrehozása Linux és macOS alatt

Linux és macOS rendszeren a virtuális környezetet a Terminálból hozhatod létre. Először lépj be abba a mappába, ahol a Python-projekted található.

Példa:
				
					cd ~/projektek/sajat-projekt
				
			

Ezután hozd létre a virtuális környezetet a Python venv moduljával:

				
					python3 -m venv venv
				
			

Linuxon és macOS-en gyakran a python3 parancs hivatkozik a Python 3 telepítésre, ezért itt ezt használjuk.
A parancs végén szereplő venv a létrehozandó mappa neve. Itt is használhatod helyette a .venv elnevezést:

				
					python3 -m venv .venv
				
			

Ha a parancs sikeresen lefutott, a projekt könyvtárában létrejön a venv vagy .venv mappa. Ebben lesz a projekthez tartozó elkülönített Python-környezet és később az ide telepített csomagok is.

Python virtuális környezet aktiválása Windows alatt

A virtuális környezet létrehozása után még aktiválnod is kell azt, mielőtt csomagokat telepítesz vagy futtatod a projektet. Aktiválás után a terminál már a projekt saját Python-környezetét fogja használni.

PowerShell

				
					.\venv\Scripts\Activate.ps1
				
			

Majd:

Sikeres aktiválás után a parancssor elején általában megjelenik a környezet neve, például:

				
					(venv) C:\projektek\sajat-projekt>
				
			

Parancssor (CMD)

				
					venv\Scripts\activate.bat
				
			
.venv esetén:
				
					.venv\Scripts\activate.bat
				
			

Ha az aktiválás sikerült, az ezután futtatott python és pip parancsok már a virtuális környezethez fognak tartozni, nem a rendszer globális Python-telepítéséhez.

Python virtuális környezet aktiválása Linux és macOS alatt

Linux és macOS rendszeren a virtuális környezet aktiválása a Terminálból történik. Ha a környezetet venv néven hoztad létre, futtasd ezt a parancsot:

				
					source venv/bin/activate
				
			

Ha .venv mappanevet használsz:

				
					source .venv/bin/activate
				
			

Sikeres aktiválás után a terminál elején általában megjelenik a virtuális környezet neve, például:

				
					(venv) user@gep:~/projektek/sajat-projekt$
				
			

Ettől a ponttól kezdve a python, python3 és pip parancsok a virtuális környezethez tartozó Python-telepítést és csomagokat fogják használni.
Ez azért fontos, mert így a projekthez telepített könyvtárak nem keverednek a rendszer többi Python-projektjével.

Hogyan ellenőrizheted, hogy tényleg a virtuális környezet aktív?

Linux/macOS alatt:
				
					which python
				
			

vagy:

				
					which python3
				
			

A kimenetnek a projekted venv vagy .venv mappájára kell mutatnia.

Csomagok telepítése a virtuális környezetbe pip segítségével

Miután aktiváltad a virtuális környezetet, a pip segítségével telepítheted a projekthez szükséges Python-csomagokat. Az így telepített könyvtárak csak ehhez a virtuális környezethez tartoznak, ezért nem keverednek más projektek csomagjaival.

Példa:

				
					pip install requests
				
			

Több csomagot egyszerre is telepíthetsz:

				
					pip install requests pandas matplotlib
				
			

Hogyan ellenőrizheted a telepített csomagokat?

				
					pip list
				
			

A pip list megmutatja, milyen csomagok és verziók vannak telepítve az aktuális virtuális környezetben.

Csomaglista mentése requirements.txt fájlba

Ha szeretnéd később ugyanazt a környezetet újra létrehozni, vagy másnak átadni a projektet, a telepített csomagokat elmentheted egy requirements.txt fájlba:

				
					pip freeze > requirements.txt
				
			

A fájlban a csomagok verziói is szerepelnek. Egy másik gépen vagy új virtuális környezetben ezek később egy paranccsal telepíthetők:

				
					pip install -r requirements.txt
				
			

Kilépés a Python virtuális környezetből

Ha befejezted a munkát az adott projekten, a virtuális környezetből egyszerűen kiléphetsz a deactivate paranccsal.

				
					deactivate
				
			

Ez Windows, Linux és macOS alatt is ugyanígy működik.
Kilépés után a terminál elejéről eltűnik a (venv) vagy (.venv) jelölés, és a rendszer ismét a globális Python-környezetet használja.

Python virtuális környezet törlése

A virtuális környezet törléséhez először lépj ki belőle a deactivate paranccsal, majd töröld a venv vagy .venv mappát.
A virtuális környezet nem tartalmaz pótolhatatlan projektadatokat: ha van requirements.txt fájlod, később bármikor újra létrehozhatod.

Windows CMD:

				
					rmdir /s /q venv
				
			

PowerShell:

				
					Remove-Item -Recurse -Force venv
				
			

Linux/macOS:

				
					rm -rf venv
				
			

Ha .venv mappanevet használsz, természetesen mindenhol azt írd a venv helyére.

Ez különösen hasznos akkor, ha a virtuális környezet megsérült, rossz csomagverziók kerültek bele, vagy egyszerűen tiszta környezetből szeretnéd újrakezdeni a projektet.

Python virtuális környezet használata PyCharmban

A PyCharm képes automatikusan létrehozni és kezelni a Python környezeteket, ezért nem feltétlenül kell minden esetben kézzel, terminálból beállítanod őket.
Új projekt létrehozásakor a PyCharm felajánlja, hogy külön virtuális környezetet hozzon létre a projekthez. Ez kezdőként kényelmes és biztonságos megoldás.

Rövid lépéssor:
  1. Nyisd meg vagy hozd létre a projektet a PyCharmban.
  2. Menj a Settings / Preferences menübe.
  3. Nyisd meg a Project → Python Interpreter részt.
  4. Válassz ki egy meglévő venv vagy .venv környezetet, vagy hozz létre újat.
  5. Ellenőrizd, hogy a kiválasztott interpreter valóban a projekt saját virtuális környezetére mutat.

Ha a PyCharm terminálját használod, a program sok esetben automatikusan aktiválja a projekthez tartozó virtuális környezetet. Ilyenkor a terminál elején megjelenhet például a (venv) vagy (.venv) jelölés.

Ha azt látod, hogy a PyCharm más Python-interpretert használ, mint amit a projektedhez létrehoztál, érdemes ezt ellenőrizni, mert különben előfordulhat, hogy a telepített csomagokat nem találja a program.

Gyakori hibák Python virtuális környezet használatakor

Az elkülönített környezet használata alapvetően egyszerű, de néhány gyakori hiba könnyen megakaszthatja a munkát. Az alábbi problémák különösen Windows, Linux és macOS rendszeren fordulnak elő.

1. A python vagy python3 parancs nem található

Ha a terminál azt jelzi, hogy a python vagy python3 parancs nem található, akkor valószínűleg a Python nincs megfelelően telepítve, vagy nincs hozzáadva a rendszer PATH környezeti változójához.
Először ellenőrizd a Python verzióját:

				
					python --version
				
			

vagy Linux/macOS alatt:

				
					python3 --version
				
			

Ha egyik parancs sem működik, először a Python telepítését kell rendezni.

2. PowerShell alatt nem indul el az aktiválás

Windows PowerShellben előfordulhat, hogy az aktiváló szkript futtatását a rendszer biztonsági beállítása blokkolja. Ilyenkor például olyan hibaüzenetet kaphatsz, amely szerint a szkriptek futtatása le van tiltva.

				
					Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
				
			

Ez csak az aktuális PowerShell munkamenetre érvényes. Ezután próbáld meg újra az aktiválást:

				
					.\venv\Scripts\Activate.ps1
				
			

3. Linuxon hiányzik a venv modul

Egyes Linux-disztribúciókon előfordulhat, hogy a venv modul nincs alapból telepítve. Debian és Ubuntu alapú rendszereken ilyenkor általában külön kell telepíteni.

				
					sudo apt update
sudo apt install python3-venv
				
			

Ezután újra futtathatod:

				
					python3 -m venv venv
				
			

4. A pip nem a megfelelő környezetbe telepít

Ha egy csomagot telepítettél, de a program mégsem találja, lehet, hogy a pip nem az aktív virtuális környezethez tartozik.

Ellenőrzés:

Windows:

				
					where python
where pip
				
			

Linux/macOS:

				
					which python
which pip
				
			

Az útvonalnak a projekt venv vagy .venv mappájára kell mutatnia.

Még biztosabb telepítési forma:
				
					python -m pip install requests
				
			
Linux/macOS esetén szükség szerint:
				
					python3 -m pip install requests
				
			

5. Elfelejtetted aktiválni a virtuális környezetet

Gyakori hiba, hogy a környezet létrejött, de a felhasználó csomagtelepítés vagy programfuttatás előtt nem aktiválja.
Ha a terminál elején nem látsz (venv) vagy (.venv) jelölést, ellenőrizd, hogy valóban az adott virtuális környezet aktív-e.

6. A PyCharm rossz Python interpretert használ

Előfordulhat, hogy a terminálban minden működik, a PyCharm mégsem talál egy telepített csomagot. Ilyenkor gyakran az a probléma, hogy a PyCharm másik Python interpretert használ.
Ellenőrizd a projekt beállításainál, hogy a Python interpreter a megfelelő venv vagy .venv mappára mutat-e.

7. A virtuális környezetet átmásoltad egy másik gépre

A venv mappát általában nem érdemes egyik számítógépről a másikra másolni. A virtuális környezet rendszerfüggő útvonalakat és fájlokat is tartalmazhat.
Jobb megoldás, ha a projekt mellé elmented a requirements.txt fájlt, majd az új gépen létrehozol egy új virtuális környezetet és újratelepíted a szükséges csomagokat.

				
					pip install -r requirements.txt
				
			

Ha a virtuális környezet nagyon összekeveredett vagy sérült, sokszor gyorsabb törölni a venv mappát, létrehozni egy újat, majd a requirements.txt segítségével újratelepíteni a csomagokat.

.venv vagy venv – melyiket érdemes használni?

A virtuális környezet mappájának neve tetszőleges lehet, de a gyakorlatban leggyakrabban a venv és a .venv elnevezéssel találkozhatsz.
Technikai szempontból nincs lényeges különbség közöttük: mindkettő ugyanúgy használható Python-környezetként.

venv

A venv egyszerű és kezdőbarát elnevezés. Jól látható a projekt mappájában, ezért könnyű felismerni.

Példa:

				
					python -m venv venv
				
			

.venv

A .venv szintén nagyon elterjedt megoldás. Linux és macOS rendszeren a ponttal kezdődő fájlok és mappák rejtettnek számítanak, ezért kevésbé zavarják a projekt könyvtárszerkezetét. Sok fejlesztőeszköz és IDE is könnyen felismeri ezt az elnevezést.

Példa:

				
					python -m venv .venv
				
			
Kezdőként bármelyiket választhatod. A legfontosabb, hogy egy projekten belül következetesen ugyanazt az elnevezést használd.

A virtuális környezetet ne töltsd fel GitHubra

A venv vagy .venv mappa sok gép- és rendszerfüggő fájlt tartalmaz, ezért általában nem érdemes Git-re feltölteni.
Ehelyett add hozzá a .gitignore fájlhoz:

				
					venv/
				
			

.venv esetén:

				
					.venv/
				
			

A projekthez szükséges csomagokat inkább a requirements.txt fájlban tárold, így másik gépen könnyen újra létrehozható ugyanaz a környezet.

Összefoglalás

A Python virtuális környezet használata az egyik legalapvetőbb fejlesztői gyakorlat. Segítségével minden projekt saját csomagokat és verziókat használhat anélkül, hogy azok más Python-projektekkel összeakadnának.

A beépített venv modullal Windows, Linux és macOS alatt is néhány paranccsal létrehozhatsz külön környezetet, aktiválhatod azt, telepítheted a szükséges csomagokat, majd a munka végén egyszerűen kiléphetsz belőle.

Ha pedig a projektet később másik gépen szeretnéd folytatni, a requirements.txt segítségével a szükséges csomagok könnyen újratelepíthetők.

Mészáros Csaba - Python Project

Mészáros Csaba

Alapító · Python Project

„Pythonban gondolkodni – lépésről lépésre.”

💡 Innen hogyan érdemes továbbhaladnod?

A virtuális környezet használata elsőre egy újabb technikai lépésnek tűnhet, valójában azonban nagyon gyorsan a Python-fejlesztés természetes részévé válik.

Ha már létre tudsz hozni és aktiválni egy venv környezetet, tudsz csomagokat telepíteni a pip segítségével, és érted, mire szolgál a requirements.txt, akkor már sokkal rendezettebben és biztonságosabban tudsz saját Python-projekteken dolgozni.

A Python Start tréningben az alapoktól haladunk tovább, lépésről lépésre:

✓  rövid, érthető videóleckékkel

✓  gyakorlati Python-feladatokkal

✓  megoldásokkal és magyarázatokkal

✓  fokozatosan felépített tananyaggal

👉 Ha még csak most ismerkedsz a Pythonnal, kezdd az ingyenes mini-kurzussal. Ha már szeretnél strukturáltan továbbhaladni, többet gyakorolni és biztosabb Python-alapokat építeni, nézd meg a Python Start tréninget.

Videók + feladatok + megoldások + garancia:

Kezdőknek – rövid leckék, mini feladatok e-mailben: