Virtualenv - izolovaná Python prostředí

Zavedením systému izolovaných Python prostředí dosáhneme toho, že pro každý projekt bude mít Python vlastní cesty a instalační adresáře a více takových prostředí nebude kolidovat, ani nic sdílet mezi sebou.

To nám přinese určité výhody, pokud v jednom systému máme více aplikací. Jednak pro každou Python aplikaci můžeme vytvořit jinou skladbu balíků a jejich verzí. Hlavně ale, nebudeme už dále potřebovat instalovat ani modifikovat nic v systému. Zřejmě ani nebudeme potřebovat rootovská práva, protože virtuální prostředí bude v našem adresáři. A když se nám podaří něco v něm pokazit, namísto opravy systému bude stačit smazat a vytvořit znovu.

Budeme potřebovat mít nainstalovaný program virtualenv. Zde uvedený příklad bude předpokládat, že adresář s virtuálním prostředím (.virtualenv) chceme umístit do /www:

cd /www
virtualenv --no-site-packages .virtualenv

Následně se do něho přepneme:

source /www/.virtualenv/bin/activate

Správný vysledek můžeme demonstrovat tak, že cesta vypsaná commandem which python (cesta k binárce python) vede už do nového prostředí.

A rovnež site-packages už nejsou tam, kde před tím:

python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"

Takže instalace Pythoních balíčků, například pomocí pip, už bude probíhat zde.

Po opuštění sezení v novém prostředí je potřeba nezapomenout ho příště opět aktivovat. Rovněž při spouštění aplikace, například v systémových skriptech, je potřeba zahrnout uvedenou aktivaci.


Václav Vinklát 21.9.2012

TOPlist