Python virtualna okruženja objašnjena s primjerima

Virtualna okruženja mogu se opisati kao izolirani instalacijski direktoriji. Ova izolacija omogućuje vam lokaliziranje instalacije ovisnosti vašeg projekta, bez prisiljavanja da ih instalirate na cijelom sustavu.

Zamislite da imate dvije aplikacije, App1 i App2. Oboje koriste paket Pak, ali zahtijevaju različite verzije. Ako instalirate Pak verziju 2.3 za App1, nećete moći pokrenuti App2 jer zahtijeva verziju 3.1.

Tu virtualna okruženja dobro dođu.

Prednosti:

  • Možete imati više okruženja, s više skupova paketa, bez sukoba među njima. Na taj se način mogu istovremeno zadovoljiti različiti zahtjevi projekata.
  • Možete jednostavno objaviti svoj projekt s vlastitim ovisnim modulima.

Evo dva načina na koja možete stvoriti Python virtualna okruženja.

Virtualenv

virtualenvje alat koji se koristi za stvaranje izoliranih Python okruženja. Stvara mapu koja sadrži sve potrebne izvršne datoteke za upotrebu paketa koji bi Python projektu trebali.

Možete ga instalirati sa pip:

pip install virtualenv

Provjerite instalaciju sljedećom naredbom:

virtualenv --version

Stvorite okruženje

Da biste stvorili virtualno okruženje, upotrijebite:

virtualenv --no-site-packages my-env

Ovo stvara mapu u trenutnom direktoriju s imenom okoline ( my-env/). Ova mapa sadrži direktorije za instaliranje modula i Python izvršnih datoteka.

Također možete odrediti verziju Pythona s kojom želite raditi. Samo se posluži argumentom --python=/path/to/python/version. Na primjer python2.7:

virtualenv --python=/usr/bin/python2.7 my-env

Popis okruženja

Dostupna okruženja možete navesti na sljedeći način:

lsvirtualenv

Aktivirajte okruženje

Prije nego što počnete koristiti okruženje, morate ga aktivirati:

source my-env/bin/activate

To osigurava da my-env/se koriste samo paketi ispod .

Primijetit ćete da je naziv okoline prikazan na lijevoj strani upita. Na taj način možete vidjeti koje je aktivno okruženje.

Instalirajte pakete

Pakete možete instalirati jedan po jedan ili postavljanjem requirements.txtdatoteke za svoj projekt.

pip install some-package pip install -r requirements.txt

Ako želite stvoriti requirements.txtdatoteku iz već instaliranih paketa, pokrenite sljedeću naredbu:

pip freeze > requirements.txt

Datoteka će sadržavati popis svih paketa instaliranih u trenutnom okruženju i njihove odgovarajuće verzije. To će vam pomoći da svoj projekt objavite s vlastitim ovisnim modulima.

Deaktivirajte okruženje

Ako ste završili s radom s virtualnim okruženjem, možete ga deaktivirati pomoću:

deactivate

To vas vraća na zadani sistemski tumač Python sa svim instaliranim knjižnicama.

Izbrišite okruženje

Jednostavno izbrišite mapu okruženja.

Conda

Conda je paket, upravljanje ovisnostima i okruženjem za mnoge jezike, uključujući Python.

Da biste instalirali Condu, slijedite ove upute.

Stvorite okruženje

Da biste stvorili virtualno okruženje, upotrijebite:

conda create --name my-env

Conda će stvoriti odgovarajuću mapu unutar instalacijskog direktorija Conda.

Također možete odrediti s kojom verzijom Pythona želite surađivati:

conda create --name my-env python=3.6

Popis okruženja

Sva dostupna okruženja možete navesti sa:

conda info --envs

Aktivirajte okruženje

Prije nego što počnete koristiti okruženje, morate ga aktivirati:

source activate my-env

Instalirajte pakete

Isto kao i kod virtualenv.

Deaktivirajte okruženje

Ako ste završili s radom s virtualnim okruženjem, možete ga deaktivirati pomoću:

source deactivate

Uklonite okruženje

Ako želite ukloniti okruženje iz Conde, upotrijebite:

conda remove --name my-env