virtualenv-SH ay isang kapalit para sa mga kagalang-galang virtualenvwrapper & nbsp; (isang hanay ng mga shell function upang pangasiwaan ang paggamit ng virtualenv).
Komento ng nag-develop
Tulad ng marami, na nagamit ko virtualenvwrapper para sa taon, ngunit ito ay nakuha ng isang bit mabigat sa paglipas ng panahon. Ako huli ay natagpuan ang aking sarili na maghintay masyadong mahaba para sa mga bagong shell sa start up, kahit na tended ko na gamitin lamang ang mga pangunahing tampok.
Ang proyektong ito ay isang pagsubok upang malutas ang problemang iyon. Hiniram ko ang matalino bit ng virtualenvwrapper, itinapon lahat ng bagay itinuturing kong mahal o hindi lamang kawili-wili, at nagdagdag ng isang tampok o dalawang sa aking sarili. Ang bilang ng isa prayoridad ng proyektong ito ay bilis. Ang code ay halos purong shell script, bagaman maaaring may isa o dalawang mga invocation ng standard na mga tool tulad ng grep o SED.
Ay nagbabala na ang pagpapatupad na ito ay maaaring hindi para sa iyo. Maaari ko nakuha mapupuksa ang isang tampok na iyong nagustuhan, maaaring dahil ito ay mahal o dahil lang ako ay hindi na mahalaga tungkol dito. Maaaring aksidenteng ko pa itinapon isang pag-ayos o remedyo para sa ilang mga kapaligiran na hindi ako Nakatagpo. Maaari lamang ako ipinakilala bagong mga bug (shell ay isang madaling wika upang makakuha ng mali sa banayad na paraan). Magpatuloy sa iyong sariling peligro.
Pag-install ng
maaaring i-install virtualenv-SH na may buto ng bungang-kahoy o easy_install. Upang gamitin ito, kailangan mong mag mapagkukunan ng isang solong shell script sa iyong shell kapaligiran. Sa pamamagitan ng default, ang buto ng bungang-kahoy o dapat easy_install itong i-install sa / usr / lokal / bin. Kung gumagamit ka ng malakas na palo o zsh, dapat mong i-import ang script shell na tukoy; kung hindi, maaari mong subukan ang isa generic. Magdagdag ng isa sa mga sumusunod na init script sa iyong shell ng (.bashrc, .zshrc, atbp):
. /usr/local/bin/virtualenv-sh.bash
. /usr/local/bin/virtualenv-sh.zsh
. /usr/local/bin/virtualenv-sh.sh
Wala ng iba pa ay kinakailangan. Lamang ng isang environment variable na maaari mong gamitin para sa configuration, na kung saan ay WORKON_HOME May. Ito ay isang path sa iyong koleksyon ng virutalenvs; maaari mong iwan itong blangko upang tanggapin ang mga default na $ {} HOME /. virtualenvs. Ito ay ipinapalagay na virtualenv mismo ay sa iyong landas.
WORKON_HOME = $ {} HOME /. Virtualenvs
zsh
Kung gumagamit ka ng zsh, maaari mong sa halip gamitin ang function na precompiled archive para sa pinakamahusay na pagganap, bagaman ito ay kailangang mai-compile mula sa mapagkukunan sa iyong machine. Maaari mong i-download ang pinagmulan direkta o subukan ang:
buto ng bungang-kahoy-install --upgrade --no-install virtualenv-SH
cd build / virtualenv-SH
Sudo gumawa install
Ito ay makakahanap ng zsh sa iyong landas, gamitin ito upang makatipon ng virtualenv-sh.zwc, at i-install ito sa / usr / lokal / bin. Maaari mo na ngayong autoload mga pag-andar at simulan ang virtualenv-SH. Baka gusto mong sumangguni sa seksyon sa function na autoloading sa manu-manong zsh kung hindi ka pamilyar sa prosesong ito:
# I-configure ang lahat ng virtualenv-SH-andar para sa autoloading
fpath = (/ usr / lokal / bin / virtualenv-SH $ fpath)
autoload -w / usr / lokal / bin / virtualenv-SH
# Tawagan ang pangunahing pag-andar pagsisimula
virtualenv_sh_init
Ginagamit
Ang mga pangunahing utos ng virtualenv-SH ay mahalagang parehong bilang virtualenvwrapper. Narito ang isang maikling pagbabalik-tanaw:
& Nbsp; mkvirtualenv
& Nbsp; Lumilikha ng isang bagong virtual_env sa $ WORKON_HOME. Lahat ng mga argumento ay direktang ipapasa sa virtualenv. Ang bagong virtual_env ay magiging aktibo. Hindi tulad ng virtualenvwrapper, ito ay tumatagal ng walang karagdagang mga argumento.
& Nbsp; rmvirtualenv
& Nbsp; Tinatanggal isang umiiral na virtual_env. Kung ito virtual_env ay kasalukuyang aktibo, ang unang ay hindi na aktibo bilang paggalang.
& Nbsp; workon [
& Nbsp; Isinasaaktibo ang may pangalang virtual_env. Kung ang isa pang virtual_env ay kasalukuyang aktibo, ito ay unang-deactivate. Nang walang mga argumento, ito ay ilista ang magagamit virtual_envs.
& Nbsp; autoworkon
& Nbsp; Awtomatikong Nagtatakda ang virtual_env batay sa mga espesyal na mga file. Tingnan sa ibaba.
& Nbsp; i-deactivate
& Nbsp; Deactivates ang kasalukuyang virtual_env (tulad ng kapag gumagamit ng virtualenv direkta).
& Nbsp; lsvirtualenvs
& Nbsp; Pini-print ang isang listahan ng mga virtual_envs na iyong nilikha.
& Nbsp; cdvirtualenv [subdir]
& Nbsp; Binabago ang kasalukuyang direktoryo sa root ng mga aktibong virtual_env, o isang subdirectory nito.
& Nbsp; lssitepackages
& Nbsp; Inililista ang mga nilalaman ng direktoryo ng site-pakete ng mga aktibong virtual_env iyon.
& Nbsp; cdsitepackages [subdir]
& Nbsp; Binabago ang currect direktoryo sa site-pakete direktoryo ng aktibong virtual_env, o isang subdirectory nito.
Hooks
virtualenv-SH sumusuporta sa parehong pandaigdigan at lokal na (per-env) Hooks bilang virtualenvwrapper. Pandaigdigang Hooks ay mga file sa $ WORKON_HOME; lokal na Hooks ay mga file sa $ WORKON_HOME / {virtual_env} / bin. Hooks ay isinagawa ng sourcing ang mga ito sa kasalukuyang shell konteksto.
& Nbsp; initialize (global)
& Nbsp; Tinatawag sa dulo ng virtualenv_sh_init.
& Nbsp; premkvirtualenv, postmkvirtualv, prermvirtualenv, postmkvirtualenv (global)
& Nbsp; Tinatawag sa simula at dulo ng mkvirtualenv at rmvirtualenv.
& Nbsp; preactivate, postactivate (global, lokal); predeactivate, postdeactivate (lokal, global)
& Nbsp; Tinatawag sa pagkakasunud-sunod na nakasaad sa paligid activation at pagbubuwag ng isang virtual_env.
Bilang karagdagan, nagbibigay-daan sa virtualenv-SH mong dynamic na magparehistro function na tinatawag na kapag execute Hooks:
virtualenv_sh_add_hook
virtualenv_sh_remove_hook
hal .:
my_virtualenv_cleanup ()
{
& Nbsp; # Gawin ang ilang mga bagay-bagay dito
}
virtualenv_sh_add_hook postdeactivate my_virtualenv_cleanup
Rehistradong hook function ay palaging isagawa matapos ang lahat ng pandaigdigan at lokal na hook script.
autoworkon
autoworkon ay isang bagong utos na ay dinisenyo upang awtomatikong i-update ang iyong virtual_env batay sa iyong kasalukuyang direktoryo. Tandaan na walang standard na shell mekanismo para sa pagpapatakbo ng isang function kapag ang kasalukuyang mga pagbabago na direktoryo ng - at marami shell ay walang tulad ng mekanismo - kaya i-install ito ay nasa sa iyo. Kung gumagamit ka ng zsh na, gagamitin mo:
autoload -U add-zsh-hook
add-zsh-hook chpwd autoworkon
Ang autoworkon function na ay maglakad hanggang sa filesystem mula sa kasalukuyang direktoryo hanggang sa alinman naabot ng root o hinahanap ng isang item na may pangalang ".workon". Kung ito ay isang nababasa file, ituturing ito ang unang linya bilang ang pangalan ng isang virtual_env at i-activate ito. Mayroong ilang mga espesyal na panuntunan na dapat tandaan:
- Autoworkon palaging humihinto sa unang .workon nahahanap nito. Ito ay ganap na ganap makatwirang na magkaroon .workon mga file sa maramihang mga puntos sa isang direktoryo tree upang gamitin ang iba't ibang mga virtual_envs sa iba't ibang mga antas.
- Isang walang laman o hindi nababasa .workon file ay binigyang-kahulugan bilang "walang virtual_env". Ito ay kapaki-pakinabang kung nais mong i-deactivate ang awtomatikong virtual_env sa isang partikular na subtree.
- Kung isinaaktibo mo ang manu-manong isang virtual_env, autoworkon hindi kailanman i-override ito. . autoworkon ay magbabago lamang ang iyong mga aktibong virtual_env kung ito ay nakatakda o dating itinakda ng autoworkon
Mga Kinakailangan :
- Python
Mga Komento hindi natagpuan