A virtualenvwrapper hookokról
A virtualenvwrapper a virtualenvhez készített kiegészítő. Míg virtualenvvel „csak” le- és felcsatolhatjuk a választott fejlesztői környezetet, addig a virtualenvwrapper többek között hookok definiálását is lehetővé teszi. A virtuális munka környezet bin/ mappájában található preactivate, postactivate, predeactivate és postdeactivate shell scriptekkel akaszkodhatunk rá a környezetváltás folyamatára.
Django alapú fejlesztésnél például kimondottan kényelmes, ha a virtuális munka környezet aktiválásakor egyúttal egy-némely shell változó is értéket kap. Ehhez a $VIRTUAL_ENV/bin/postactivate hookba a következőket szúrtam:
export PYTHONPATH=$PYTHONPATH:/Users/admin/Sites/djangosite
export DJANGO_SETTINGS_MODULE=djangosite.settings
Innentől kezdve a workon project_env hatására megfelelően kitöltött PYTHONPATH és DJANGO_SETTINGS_MODULE fogad. A hook scripteket közvetlenül a parancsértelmező dolgozza fel, így bármire rávehetjük, amit a shell elbír. Matt Wilson példának okáért egész komolyan kimunkált környezetet kap.
A virtualenvwrapper használatáról Richard Leland rögzített screencastot. Az izolált fejlesztői környezettekkel most ismerkedőknek a Fejlesztői környezet kialakítása Python alapú fejlesztéshez című összefoglalót ajánlom.
Posted
by
En zsh-t hasznalok, es varazslatos a promptom, a kornyezet beallitasakor ele kerulne a (valami) szoveg, ami osszekuszalja a dolgokat, viszont apro trukkel megoldhato, hogy ez ne oda, hanem a prompt jobb oldalara keruljon:
$WORKON_HOME/postactivate
$WORKON_HOME/postdeactivate
Igy nez ki amugy:
Egy dolog, amire most jottem ra, es hogy ne felejtsem el felirom ide: ha a virtualenv kornyezet letrehozasa utan szeretnenk szabalyozni a globalis site-packages hasznalatat, akkor egyszeruen hozzuk letre/toroljuk a $WORKON_HOME/lib/python2.?/ konyvtarban a no-global-site-packages.txt nevu filet.