[[oktatas:programozás:python|< Python]] ====== Python virtuális környezet ====== * **Szerző:** Sallai András * Copyright (c) 2020, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Bevezetés ===== Ez a leírás többféle eszközt tartalmaz virtuális környezet használatára. ===== venv ===== ==== Telepítés ==== Debian GNU/Linuxon szükséges telepíteni: apt install python3-pip apt install python3-venv Windows operációs rendszeren a telepített Python tartalmazza a pip és a venv csomagot. ==== Virtuális környezet kezdése ==== python3 -m venv virtenv A virtenv helyére írhatjuk saját könyvtár nevet is. Ha elérhető a tree parancs, ellenőrizzük: tree virtenv tree -L virtenv ==== Aktiválás ==== Nézzünk bele a virtenv könyvtárba: $ ls virtenv $ which python3 Itt a which python-t csak azért futtatjuk, hogy legyen összehasonlítási alapunk a következő parancsoknál. Aktiváljuk a virtuális környezetet: $ source virtenv/bin/activate Ellenőrzés: (virtenv)$ which python (virtenv)$ which py (virtenv)$ pip list (virtenv)$ echo $PATH ==== Példahasználat ==== Telepítsük például a Django 1.9-s verzióját: (virtenv)$ pip install Django=1.9 ==== Inaktiválás ==== (virtenv)$ deactivate ===== pipenv ===== A pipenv egy csomagkezelő és projekt-kezelő eszköz. ==== Függőségek ==== Python verzió ellenőrzése: python --version Legyen minimum 3.x. A pip parancs ellenőrzése: pip --version ==== Telepítés ==== pip install --user pipenv Windowson útvonalba kell tenni: * C:\Users\janos\AppData\Roaming\Python\Python311\Scripts ==== Csomagok a projektünk számára ==== Ha nem vagyunk a projekt könyvtárában lépjünk be: cd projekt01 pipenv install requests A projekt a Pipfile állományban vannak leírva. Itt találjuk a telepített csomagokat is. A Pipfile.lock fájlba feljegyzsére kerülnek a történések. ==== A telepített csomag használata ==== import requests response = requests.get('https://httpbin.org/ip') print('Az IP címe: {0}'.format(response.json()['origin'])) Futtatás: pipenv run python prog.py ===== A virtualenv ===== A virtualenv egy újabb lehetőség virtuális környezet létrehozására. ==== Telepítés ==== $ pip install virtualenv Ellenőrzés: $ python -m virtualenv --version ==== Használat ==== Virtuális környezet létrehozása a projektünkhöz: $ cd projekt01 $ python -m virtualenv .venv A virtuális környezet aktiválása: $ source .venv/bin/activate Aktiválás Windowson: > .venv\Scripts\activate ==== Csomagok telepítése ==== (virtenv)$ pip install requests ==== Teszt ==== import requests response = requests.get('https://httpbin.org/ip') print('Az IP címe: {0}'.format(response.json()['origin'])) Futtatás: (virtenv)$ python prog.py ==== Deaktiválás ==== (virtenv)$ deactivate ===== VSCode virtuális környezet ===== Ha van egy projektünk, akkor hozzáadhatunk virtuális környezetet VSCode-ban. A projekt gyökérkönyvtárában hozzuk létre a virtuális környezet könyvtárát: python -m venv .venv A .venv más könyvtárnév is lehet, ez választás kérdése. Felugró ablak: We noticed a new environment has been created. Do you want to select it for the workspace folder? Source: Python (Extendsion) [Yes] [No] [Do not show again] Válaszoljunk Yes-el. A terminál még nincs a virtuális környezetben, így továbbra sem azt használjuk. A terminált törüljük (ne csak egyszerűen kikapcsoljuk). Kérjünk egy új terminált. Ez már a virtuális környezetben fog megnyílni. A várakozási jel ehhez hasonló kell legyen: (.venv) PS C:\Users\janos\dev\app01> A státuszsoron ellenőrizzük, hogy melyik Python verziót használjuk. A következőt kell lássuk (aktuális verziószámmal): Python 3.11.0('.venv': venv) Most már telepíthetünk a virtuális környezetben, és a Python programjaink is ezt használják. A virtuális környezet elkészíthető a VSCode parancspaneljén is. Példaként telepítsük a numpy csomagot (Itt most egy linuxos telepítést látunk): pip install numpy Collecting numpy Downloading numpy-1.26.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.3 MB) ━━━━━━━━━━━━━━━ 18.3/18.3 MB 9.9 MB/s eta 0:00:00 Installing collected packages: numpy Successfully installed numpy-1.26.3 ===== Forrás ===== * https://docs.python-guide.org/dev/virtualenvs/ (2020) * https://www.geeksforgeeks.org/create-virtual-environment-using-venv-python/ (2020)