virtualenv-sh is 'n plaasvervanger vir die eerbiedwaardige virtualenvwrapper & nbsp; ('n stel van die dop funksies van die gebruik van virtualenv te fasiliteer).
Ontwikkelaar kommentaar
Soos baie, het ek gebruik virtualenvwrapper vir die jaar, maar dit is gekry 'n bietjie swaar met verloop van tyd. Ek het uiteindelik het myself te lank wag vir 'n nuwe doppe te begin, selfs al is ek geneig om net die basiese funksies gebruik.
Hierdie projek is 'n poging om die probleem op te los. Ek geleen die slim stukkies virtualenvwrapper, weggegooi alles wat ek beskou duur of net nie interessant, en 'n funksie bygevoeg of twee van my eie. Die nommer een prioriteit van hierdie projek is spoed. Die kode is amper suiwer dop script, alhoewel daar dalk een of twee aanroepingen van die standaard gereedskap soos grep of sed.
Wees gewaarsku dat die implementering van hierdie nie mag wees vir jou. Ek kan gekry het ontslae te raak van 'n funksie wat jy graag, óf omdat dit duur is of omdat ek net nie omgee nie. Ek kan per ongeluk het weggegooi n fix of oplossing vir 'n paar omgewing dat ek nie teëgekom het. Ek kan net het nuwe foute (dop is 'n maklike taal verkeerd in subtiele maniere om te kry). Gaan voort op jou eie risiko.
Die installering
virtualenv-sh kan geïnstalleer word met pit of easy_install. Om dit te gebruik, moet jy 'n enkele dop script om die bron in jou dop omgewing. By verstek, pit of easy_install moet installeer om dit te / usr / plaaslike / bin. As jy met behulp bash of zsh, moet jy die dop-spesifieke script invoer; anders, kan jy probeer om die generiese een. Voeg een van die volgende aan jou dop se init script (.bashrc, .zshrc, ens):
. /usr/local/bin/virtualenv-sh.bash
. /usr/local/bin/virtualenv-sh.zsh
. /usr/local/bin/virtualenv-sh.sh
Niks anders word vereis. Daar is net een omgewing veranderlike wat jy kan gebruik vir die opset, wat is WORKON_HOME. Dit is 'n pad na jou versameling van virutalenvs; jy kan laat dit leeg die verstek van $ {HOME} /. virtualenvs te aanvaar. Daar word aanvaar dat virtualenv self is wat in jou pad.
WORKON_HOME = $ {HOME} /. Virtualenvs
zsh
As jy met behulp van zsh, kan jy gebruik in plaas van die compileerde funksie argief vir optimale prestasie, hoewel dit moet saamgestel word van die bron op jou rekenaar. Jy kan die bron direk aflaai of probeer:
PIP installeer --upgrade --no installeer virtualenv-sh
cd bou / virtualenv-sh
maak sudo installeer
Dit sal zsh vind in jou pad, gebruik dit virtualenv-sh.zwc te stel, en installeer dit na / usr / plaaslike / bin. Jy kan nou autoload hierdie funksies en inisialiseer virtualenv-sh. Jy kan wil om te verwys na die artikel op die funksie autoloading in die zsh handleiding as jy nie vertroud is met hierdie proses:
# Konfigureer al virtualenv-sh funksies vir autoloading
fpath = (/ usr / plaaslike / bin / virtualenv-sh $ fpath)
autoload w / usr / plaaslike / bin / virtualenv-sh
# Bel die hoof inisialisering funksie
virtualenv_sh_init
Gebruik
Die basiese bevele van virtualenv-sh is in wese dieselfde as virtualenvwrapper. Hier is 'n kort terugblik:
& Nbsp; mkvirtualenv
& Nbsp; Skep 'n nuwe virtual_env in $ WORKON_HOME. Alle argumente direk geslaag om virtualenv. Die nuwe virtual_env sal aktief word. Anders virtualenvwrapper, dit neem geen bykomende argumente.
& Nbsp; rmvirtualenv
& Nbsp; Deletes 'n bestaande virtual_env. As dit virtual_env tans aktief is, is dit die eerste keer gedeaktiveer as 'n vergunning.
& Nbsp; workon [
& Nbsp; Aktiveer die naam virtual_env. As 'n ander virtual_env tans aktief is, sal dit die eerste keer gedeaktiveer word. Sonder argumente, sal dit 'n lys van die beskikbare virtual_envs.
& Nbsp; autoworkon
& Nbsp; stel outomaties die virtual_env gebaseer op spesiale lêers. Sien onder.
& Nbsp; deaktiveer
& Nbsp; Deactiveert die huidige virtual_env (soos wanneer die gebruik van virtualenv direk).
& Nbsp; lsvirtualenvs
& Nbsp; druk 'n lys van die virtual_envs wat jy geskep het.
& Nbsp; cdvirtualenv [subdir]
& Nbsp; Wysigings die huidige gids tot die wortel van die aktiewe virtual_env, of 'n subgids daarvan.
& Nbsp; lssitepackages
& Nbsp; Lyste die inhoud van die aktiewe virtual_env se webwerf-pakkette gids.
& Nbsp; cdsitepackages [subdir]
& Nbsp; Wysigings die currect gids tot die webwerf-pakkette gids van die aktief virtual_env, of 'n subgids daarvan.
Hooks
virtualenv-sh ondersteun die dieselfde globale en plaaslike (per-env) hakies as virtualenvwrapper. Global hakies is lêers in $ WORKON_HOME; plaaslike hakies is lêers in $ WORKON_HOME / {virtual_env} / bin. Hooks word uitgevoer deur die verkryging van hulle in die huidige dop konteks.
& Nbsp; inisialiseer (globale)
& Nbsp; Genoem aan die einde van virtualenv_sh_init.
& Nbsp; premkvirtualenv, postmkvirtualv, prermvirtualenv, postmkvirtualenv (globale)
& Nbsp; Genoem aan die begin en einde van mkvirtualenv en rmvirtualenv.
& Nbsp; preactivate, postactivate (globale, plaaslike); predeactivate, postdeactivate (plaaslike, globale)
& Nbsp; Genoem in die volgorde aangedui om aktivering en deaktivering van 'n virtual_env.
Daarbenewens virtualenv-sh kan jy dinamiese registreer funksies genoem te word wanneer die uitvoering van hakies:
virtualenv_sh_add_hook
virtualenv_sh_remove_hook
bijv .:
my_virtualenv_cleanup ()
{
& Nbsp; # Doen 'n paar dinge hier
}
virtualenv_sh_add_hook postdeactivate my_virtualenv_cleanup
Geregistreer haak funksies is altyd uitgevoer na alle globale en plaaslike haak skrifte.
autoworkon
autoworkon is 'n nuwe gebod wat ontwerp is om jou virtual_env outomaties opgedateer gebaseer op jou huidige gids. Let daarop dat daar geen standaard dop meganisme vir die uitvoer van 'n funksie wanneer die huidige gids veranderinge - en baie doppe nie so 'n meganisme - so die installering van hierdie is aan jou. As jy met behulp van zsh, sal jy gebruik:
autoload -U add-zsh-haak
add-zsh-haak chpwd autoworkon
Die autoworkon funksie sal loop tot die lêerstelsel uit die huidige gids tot dit óf bereik die wortel of vind 'n item met die naam ".workon". As dit is 'n leesbare lêer, sal dit die eerste reël as die naam van 'n virtual_env behandel en aktiveer. Daar is 'n paar van die spesiale reëls in gedagte te hou:
- Autoworkon stop altyd by die eerste .workon dit vind. Dit is heel redelik .workon lêers op verskeie punte in 'n gids boom verskillende virtual_envs op verskillende vlakke te gebruik.
- 'N leë of deurmekaar .workon lêer word geïnterpreteer as "geen virtual_env". Dit is nuttig as jy die outomatiese virtual_env te deaktiveer in 'n bepaalde substructuur.
- As jy 'n virtual_env hand aktiveer, sal autoworkon nooit ignoreer dit. . autoworkon sal slegs verander jou aktiewe virtual_env as dit ontstel of voorheen deur autoworkon stel
Vereistes :
- Python
Kommentaar nie gevind