Ezek a követelmények és felhasználási esetek nehezen kezelhetők, ha a különböző alkalmazásokhoz ugyanazon könyvtár különböző verziói szükségesek. Szerencsére a Python robusztus megoldást kínál a fejlesztői környezetek elkülönítésére virtuális környezetek segítségével.
Mi az a Python virtuális környezet?
A Python virtuális környezet egy önálló könyvtárfa, amely egy adott Python telepítést tartalmaz az összes szokásos könyvtárával együtt. A könyvtár adott verzióját igénylő alkalmazások elkülöníthetők ezekben a virtuális környezetekben anélkül, hogy szennyeznék a rendszert vagy más Python-megvalósításokat. Minden virtuális környezet külön homokozó, így annyit hozhat létre, amennyit csak akar.
Virtuális környezetek létrehozása és kezelése
Virtuális környezetek létrehozásához az Ubuntuban először telepítse a szükséges függőségi csomagot a parancs futtatásával:
$ sudo apt install python3-venvMost virtuális környezeteket hozhat létre a parancs futtatásával:
$ python3 -m venv myenvA fenti parancs futtatásával létrehoz egy „myenv” nevű virtuális környezetet a saját könyvtárában. Ha a Python bármely más verzióját szeretné használni, akkor a fenti „python3” szót lecserélheti az alternatív Python bináris helyének teljes elérési útjára.
A fent létrehozott egyéni környezet aktiválásához futtassa a következő parancsot:
$ forrás myenv / bin / activA virtuális környezet aktiválása után a shell parancssor megváltozik, hogy tükrözze az Ön által használt virtuális környezetet. Ha fut a „sys.path ”parancsot a Python tolmácson belül láthatja, hogy a virtuális környezet megfelelően működik. A Python most csomagokat keres az imént létrehozott egyéni környezetben.
Ha a shell parancssor nem mutatja a virtuális környezet nevét előtagként, akkor bármelyik futtatott Python fájl a rendszer Pythont fogja használni. Tehát szükséges a virtuális környezet beszerzése, mielőtt egy fájlt futtatna az egyéni környezetben.
A virtuális környezet deaktiválható a parancs futtatásával:
$ deaktiváljaMinden Python virtuális környezet tartalmaz egy „pyvenv.cfg ”fájl, amelynek egy“ include-system-site-package ”kulcsa van, amely alapértelmezés szerint“ hamis ”. Ez a kulcs megmondja a virtuális környezetnek, hogy használja-e a rendszer site-csomagjait vagy sem. Ha „true” értékre van állítva, akkor a Python a virtuális környezetben rendszercsomagokat keres, ha egy csomag nem található a virtuális környezetben. Emellett az összes rendszerre telepített csomag importálhatóvá válik a virtuális környezetben.
Virtuális környezet törléséhez csak törölnie kell a virtuális környezet könyvtárát, és ez eltűnik.
Lehetséges virtuális virtuális fájl létrehozása és tárolása külső USB-meghajtókon. USB-meghajtót kell formáznia NTFS vagy EXT fájlrendszerben. A FAT32 fájlrendszer nem támogatja a hivatkozásokat, ami a virtuális környezetek működésének követelménye.
A Pip Package Manager használata a csomagok virtuális környezetbe történő telepítéséhez
Virtuális környezetben a pip package manager segítségével telepítheti, frissítheti és eltávolíthatja a csomagokat. Lehetőség van egy csomag leminősítésére vagy frissítésére egy adott verziószám megadásával.
Csomagot telepíthet a pip használatával a parancs futtatásával (cserélje le a pygame szót a kívánt csomag nevére):
$ pip install pygame
A pip csomagok kereshető tárolója itt található.
Csomag eltávolításához használja a következő parancsot:
$ pip uninstall pygame
A csomag összes verziójának megtekintéséhez futtassa a parancsot:
$ pip install pygame ==
Egy bizonyos verzióra történő visszalépéshez vagy frissítéshez használja a parancsot (cserélje le az „1.9.5 ”a kívánt verziószámmal):
$ pip install pygame == 1.9.5
A csomag legújabb verzióra történő frissítéséhez futtassa a következő parancsot:
$ pip install --upygade pygame
A virtuális környezetben telepített összes csomag megtekintéséhez futtassa a következő parancsot:
$ pip lista
A telepített csomagok listájának mentéséhez a virtualenv fájlban futtassa a következő parancsot:
$ pip freeze> követelmények.txtHasználhatja a fenti követelményeket.txt ”fájl a csomagok tömeges telepítéséhez. Az egyik felhasználási eset egy meglévő környezet másolása az összes csomag nulláról történő telepítésével. A pip csomagok tömeges telepítéséhez futtassa a következő parancsot:
$ pip install -r követelmények.txtA Python virtuális környezetek használata nem Python alkalmazásokkal
A más programozási nyelveken írt alkalmazások sandboxolhatók Python virtuális környezetekben, amennyiben a pip vagy bármely más Python csomagkezelő bináris fájlokat és csomagokat biztosít ezekhez az alternatív programozási nyelvekhez / keretekhez.
Itt van egy kis példa, amely elmagyarázza a Node telepítését.js Python virtuális környezetben. Futtassa egyesével a következő parancsokat:
$ python3 -m venv my_node_env$ forrás my_node_env / bin / activ
$ pip install kerék
$ pip install nodeenv
$ nodeenv -p
$ nodeenv --verzió
$ node --verzió
Ha elkészült, akkor egy teljesen elszigetelt Node lesz.js környezet. Annyi virtuális környezetet hozhat létre, amennyit csak akar a különböző Node-okhoz.js alkalmazások. Az npm csomagkezelőn keresztül telepített csomagok csak az aktivált virtuális környezetre korlátozódnak.
Következtetés
A Python virtuális környezet létrehozása kiváló lehetőség a fejlesztői környezetek tárolására. Minden virtuális környezetnek megvan a saját Python bináris és saját független csomagkészlete. Több Python alkalmazás fejlesztése ugyanazon a rendszeren gyorsan szennyezheti otthoni és gyökérkönyvtárát, a virtuális környezetek pedig olyan könnyűvé teszik azok karbantartását.