virtualenv-sh este un substitut pentru virtualenvwrapper venerabilul & nbsp; (un set de funcții shell pentru a facilita utilizarea de virtualenv).
Comentariile dezvoltatori
Ca mulți, am folosit virtualenvwrapper de ani de zile, dar este ajuns un pic greu a lungul timpului. În cele din urmă m-am trezit de așteptare prea mult timp pentru noi coji să înceapă, chiar dacă am avut tendința de a folosi doar caracteristicile de bază.
Acest proiect este o încercare de a rezolva această problemă. Am împrumutat biți inteligent de virtualenvwrapper, aruncate tot ce am considerat scump sau pur și simplu nu interesant, și a adăugat o caracteristică sau două de propria mea. Prioritatea numărul unu al acestui proiect este viteza. Codul este script de shell aproape pur, deși pot exista una sau două invocări de instrumente standard, cum ar fi grep sau sed.
Fi avertizat că această punere în aplicare nu poate fi pentru tine. Poate că am scăpat de o caracteristică ce ți-a plăcut, fie pentru ca a fost scump sau pentru că pur și simplu nu-i pasa despre asta. Poate am aruncat accidental un fix sau soluție pentru a putea mediu care nu l-am întâlnit. Poate am doar introdus noi bug-uri (shell este un limbaj ușor pentru a obține greșit în moduri subtile). Continuați pe propriul risc.
Instalarea
virtualenv-sh poate fi instalat cu PIP sau easy_install. Pentru a utiliza, aveți nevoie să se aprovizioneze un singur script de shell în mediul shell. În mod implicit, PIP sau easy_install ar trebui să instaleze la / usr / local / bin. Dacă utilizați bash sau zsh, trebuie să importați script-shell specifice; în caz contrar, puteți încerca cel generic. Adăugați una dintre următoarele pentru a script de inițializare shell-ului (.bashrc, .zshrc, etc.):
. /usr/local/bin/virtualenv-sh.bash
. /usr/local/bin/virtualenv-sh.zsh
. /usr/local/bin/virtualenv-sh.sh
Este nevoie de nimic altceva. Există o singură variabilă de mediu pe care le puteți folosi pentru configurare, care este WORKON_HOME. Aceasta este o cale de a colecția dvs. de virutalenvs; puteți să lăsați-l gol pentru a accepta implicit de $ {HOME} /. virtualenvs. Se presupune că virtualenv se află în calea ta.
WORKON_HOME = $ {HOME} /. Virtualenvs
zsh
Dacă utilizați zsh, puteți folosi în schimb arhiva funcția precompilate pentru o performanță optimă, deși acest lucru trebuie să fie compilate de la sursa de pe calculatorul dumneavoastră. Puteți descărca sursa direct sau încercați:
PIP instala --upgrade --no-install virtualenv-sh
cd build / virtualenv-sh
sudo make install
Acest lucru va găsi zsh în calea ta, să-l utilizați pentru a compila virtualenv-sh.zwc, și instalați-l la / usr / local / bin. Puteți AutoLoad acum aceste funcții și inițializa virtualenv-sh. Este posibil să doriți să consultați secțiunea cu privire la funcția automat cu teava în manualul de zsh dacă nu sunteți familiarizați cu acest proces:
# Configurarea toate funcțiile virtualenv-SH pentru automat cu teava
fpath = (/ usr / local / bin / sh virtualenv-$ fpath)
autoload -w / usr / local / bin / sh virtualenv-
# Apelați funcția principală de inițializare
virtualenv_sh_init
Utilizarea
Comenzile de bază ale virtualenv-sh sunt în esență aceleași ca și virtualenvwrapper. Iată o scurtă recapitulare:
& Nbsp; mkvirtualenv
& Nbsp; Creează un nou virtual_env în $ WORKON_HOME. Toate argumentele sunt transmise direct la virtualenv. Noul virtual_env va deveni activ. Spre deosebire de virtualenvwrapper, aceasta ia nici argumente suplimentare.
& Nbsp; rmvirtualenv
& Nbsp; Sterge un virtual_env existent. Dacă acest virtual_env este activ, acesta este dezactivat în primul rând ca o favoare.
& Nbsp; workon [
& Nbsp; Activează virtual_env nume. Dacă un alt virtual_env este activ, acesta va fi dezactivat în primul rând. Fără argumente, se va lista virtual_envs disponibile.
& Nbsp; autoworkon
& Nbsp; setează automat virtual_env bazat pe fișiere speciale. Vezi mai jos.
& Nbsp; a dezactiva
& Nbsp; Dezactivează virtual_env curent (ca atunci când se utilizează virtualenv direct).
& nbsp; lsvirtualenvs
& Nbsp; Imprimă o listă a virtual_envs le-ați creat.
& Nbsp; cdvirtualenv [subdirector]
& Nbsp; Schimbă directorul curent la rădăcina virtual_env activ, sau un subdirector al acestuia.
& nbsp; lssitepackages
& Nbsp; Listează conținutul site-ului director pachete virtual_env activ de.
& Nbsp; cdsitepackages [subdirector]
& Nbsp; Schimbă directorul currect in directorul site-ului pachete de virtual_env activ, sau un subdirector al acestuia.
Carlige
virtualenv-sh susține aceleași global și local (pe-ENV) cârligele ca virtualenvwrapper. Cârlige globale sunt fișiere în $ WORKON_HOME; cârlige locale sunt fișiere în $ WORKON_HOME / {} virtual_env / bin. Carlige sunt executate de aprovizionare-le în contextul actual coajă.
& Nbsp; inițializa (global)
& Nbsp; Numit la sfarsitul virtualenv_sh_init.
& Nbsp; premkvirtualenv, postmkvirtualv, prermvirtualenv, postmkvirtualenv (global)
& Nbsp; Numit la începutul și la sfârșitul mkvirtualenv și rmvirtualenv.
& Nbsp; preactivate, postactivate (global, local); predeactivate, postdeactivate (local, la nivel mondial)
& Nbsp; Chemat în ordinea indicată în jurul activarea și dezactivarea un virtual_env.
În plus, virtualenv-sh vă permite să înregistrați dinamic funcții pentru a fi numit la execuția cârlige:
virtualenv_sh_add_hook
virtualenv_sh_remove_hook
de exemplu .:
my_virtualenv_cleanup ()
{
& Nbsp; # Nu unele chestii aici
}
virtualenv_sh_add_hook postdeactivate my_virtualenv_cleanup
Funcții cârlig înregistrate sunt întotdeauna executat dupa toate script globale și locale cârlig.
autoworkon
autoworkon este o nouă comandă care este proiectat pentru a actualiza automat virtual_env dumneavoastră bazat pe directorul curent. Rețineți că nu există un mecanism coajă standard pentru rularea unei funcții atunci când se schimbă directorul curent - și multe scoici nu au un astfel de mecanism - deci instalarea acestei este de până la tine. Dacă utilizați zsh, ar trebui să utilizați:
autoload -U add-zsh-cârlig
add-zsh-cârlig chpwd autoworkon
Funcția autoworkon va urca sistemul de fișiere din directorul curent până când nici ajunge la radacina sau găsește un articol numit ".workon". Dacă aceasta este un fișier care poate fi citit, se va trata prima linie ca numele unui virtual_env și activați-l. Există o serie de reguli speciale pentru a păstra în minte:
- Autoworkon oprește întotdeauna la prima .workon găsește. Este perfect rezonabil să aveți fișiere .workon la mai multe puncte într-un copac director pentru a utiliza diferite virtual_envs la diferite niveluri.
- Un fișier .workon gol sau ilizibil este interpretat ca "nu virtual_env". Acest lucru este util dacă doriți să dezactivați virtual_env automat într-o anumită subarbore.
- Dacă activați manual un virtual_env, autoworkon nu va fi niciodată o suprascrie. . autoworkon se va schimba doar virtual_env activ în cazul în care este setată sau fost stabilite anterior de către autoworkon
Cerințe :
- Python
Comentariile nu a fost găsit