Python: virtualenv v Zshellu

virtualenv je způsob, jak zachovat vyvíjene aplikace od sebe izolované a tak vytvořit specifické, požadované prostředí pro každou z nich. Je to nástroj, utilita, která vám pomůže vysekat se z globálních závislostí instalovaných balíčků.

Další výhodou pak může být to, že pokud vyvíjíte více Python aplikací najednou, pak díky virtualenv můžete do každé aplikace instalovat jinou verzi jakéhokoliv pythonovského balíčku. Super!

Instalace virtualenv

Vycházím z toho, že Pythonem se rozumí Python3, ale pokud používáte Python2, pak info a postu je stejné.

pip3 install virtualenv

Hotovo. Říkal jsem, že to nic není…

Vytvoření virtuálního prostředí pro vyvíjenou apku

virtualenv -p python3 ~/moje-py-apka

V domovském adresáři vytvoří podadresíř moje-py-apka`s kompletním virtuálním prostředím, ve kterém se bude vyvíjet.

Stačí pak aktivovat:

cd ~/moje-py-apka
source bin/activate

Hotovo. A můžeme vyvíjet. A až budeme chtít skončit, stačí zadat deactivate.

zshell

A pak by bylo hezká, aby se vám v ZSHELL promptu zobrazoval názeve virtuálního prostředí, aby jste věděli co si to vlastně kódíte. Třeba nějak takto:

Virtual env je pak to v pravé části promptu.

Pro vizualizaci v promptu je potřeba 1. v ~/.zsrhrcdo sekce plugins přidat virtualenv. Moje plugins pak vypadají třeba takto:

Dalším krokem je pak konfigurace promptu samotného. Aby se mi virtualenv zobrazil v pravé části promptu, je potřeba přidat do ~/.zshrc následující: POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(virtualenv status). Krom virtualenv mám i status, což je zobrazení exit statusu posledné vykonaného příkazu.

No a aby se virtualenv korektně v promptu zobrazil, pak musíte v ~/.oh-my-zsh/plugins/virtualenv/virtualenv.plugin.zsh zadisablovat exportovanou proměnnou:

Hotovo!

Pak už jen stačí reloadnout konfiguraci zshellu a pokud pak budete aktivovat virtualenv, koretně vás o tom bude váš prompt informovat.