VIRTUALENV-sh je náhradou za úctyhodný virtualenvwrapper & nbsp; (sada funkcí shellu, aby se usnadnilo používání VIRTUALENV).
Vývojářské komentáře
Stejně jako mnoho jiných, jsem použil virtualenvwrapper několik let, ale je to dostal trochu těžký v průběhu času. Nakonec jsem našel sám sebe čekat příliš dlouho na nové granáty nastartovat, i když jsem inklinoval používat pouze základní funkce.
Tento projekt je pokusem vyřešit tento problém. Půjčil jsem si chytré kousky virtualenvwrapper, zlikvidovat vše, co jsem považoval za drahé, nebo prostě není zajímavý, a přidal funkci nebo dvě vlastní. Prioritou číslo jedna tohoto projektu je rychlost. Kód je téměř čistý shell skript, i když může být jeden nebo dva vyvolání standardních nástrojů, jako je grep nebo sed.
Upozorňujeme, že tato implementace nemusí být pro vás. Možná jsem se zbavili funkci, která se vám líbil, a to buď proto, že to bylo drahé, nebo proto, že jsem prostě nestaral o to. Možná jsem náhodou vyřazeny opravu nebo řešení nějakého prostředí, které jsem se setkal. Možná jsem právě představil nové chyby (shell je jednoduchý jazyk, aby se špatně v nenápadně). Pokračujte na vlastní nebezpečí.
Instalace
VIRTUALENV-sh může být instalován s pip nebo easy_install. Pokud jej chcete použít, musíte opatřit jeden skript v shellu prostředí. Ve výchozím nastavení, PIP nebo easy_install to měli nainstalovat do / usr / local / bin. Pokud používáte bash nebo zsh, měli byste importovat shell specifické skript; V opačném případě můžete zkusit obecný jeden. Přidejte jeden z následujících shellu init skriptu (.bashrc, .zshrc, atd):
, /usr/local/bin/virtualenv-sh.bash
, /usr/local/bin/virtualenv-sh.zsh
, /usr/local/bin/virtualenv-sh.sh
Je zapotřebí nic jiného. Je tu jen jedna proměnná prostředí, které lze použít pro konfiguraci, což je WORKON_HOME. To je cesta k vaší sbírky virutalenvs; si můžete nechat prázdné přijmout výchozí nastavení $ {HOME} /. virtualenvs. Předpokládá se, že VIRTUALENV sama o sobě je v cestě.
WORKON_HOME = $ {HOME} /. Virtualenvs
zsh
Pokud používáte zsh, můžete místo toho použít prekompilovaného archivu funkce pro optimální výkon, i když to musí být sestaven ze zdroje na vašem počítači. Zde si můžete stáhnout zdroj přímo, nebo se snaží:
Pip nainstalovat --upgrade -no instalaci VIRTUALENV-SH
cd build / VIRTUALENV-sh
sudo make install
To najde zsh v cestě, použijte ji k sestavení VIRTUALENV-sh.zwc, a nainstalujte jej do / usr / local / bin. Nyní můžete AutoLoad tyto funkce a inicializovat VIRTUALENV-SH. Možná budete chtít odkázat na kapitolu funkce autoloading v zsh návodu, pokud nejste obeznámeni s tímto postupem:
# Nastavit všechny VIRTUALENV-SH funkce pro autoloading
fpath = (/ usr / local / bin / sh-VIRTUALENV $ fpath)
autoload -w / usr / local / bin / sh-VIRTUALENV
# Volání hlavní funkci inicializační
virtualenv_sh_init
Použití
Základní příkazy VIRTUALENV-SH jsou v podstatě stejné jako virtualenvwrapper. Zde je stručný rekapitulace:
& Nbsp; mkvirtualenv
& Nbsp; Vytvoří novou virtual_env v $ WORKON_HOME. Všechny argumenty jsou předány přímo na VIRTUALENV. Nová virtual_env se stane aktivní. Na rozdíl od virtualenvwrapper, to trvá žádné další argumenty.
& Nbsp; rmvirtualenv
& Nbsp; Odstraní existující virtual_env. Je-li v současné době aktivní, to virtual_env, to je deaktivována nejprve jako zdvořilost.
& Nbsp; workon [
& Nbsp; Aktivuje názvem virtual_env. Je-li v současné době aktivní jiný virtual_env, bude deaktivován jako první. Bez argumentů, bude seznam dostupných virtual_envs.
& Nbsp; autoworkon
& Nbsp; automaticky nastaví virtual_env na základě speciálních souborů. Viz níže.
& Nbsp; deaktivace
& Nbsp; deaktivuje aktuální virtual_env (jako při použití VIRTUALENV přímo).
& nbsp; lsvirtualenvs
& Nbsp; Vytiskne seznam virtual_envs, které jste vytvořili.
& Nbsp; cdvirtualenv [podadr]
& Nbsp; Změní aktuální adresář do kořenového adresáře aktivní virtual_env, nebo v jejich podadresáři.
& nbsp; lssitepackages
& Nbsp; vypíše obsah aktivního virtual_env v site-packages adresáře.
& Nbsp; cdsitepackages [podadr]
& Nbsp; Mění currect adresář na site-packages adresáře aktivní virtual_env, nebo v jejich podadresáři.
Háčky
VIRTUALENV-sh podporuje stejné globální a lokální (per-ENV) háků virtualenvwrapper. Globální háčky jsou soubory v adresáři $ WORKON_HOME; Místní háčky jsou soubory v adresáři $ WORKON_HOME / {virtual_env} / bin. Háčky jsou prováděny získávání je v současné kontextové.
& Nbsp; inicializace (globální)
& Nbsp; Volal na konci virtualenv_sh_init.
& Nbsp; premkvirtualenv, postmkvirtualv, prermvirtualenv, postmkvirtualenv (globální)
& Nbsp; Volal na začátku a na konci mkvirtualenv a rmvirtualenv.
& Nbsp; preactivate, postactivate (globální, lokální); predeactivate, postdeactivate (lokální, globální)
& Nbsp; Called v uvedeném pořadí po aktivaci a deaktivaci se virtual_env.
Kromě toho, VIRTUALENV-sh umožňuje dynamicky registrovat funkce bude volána při provádění háčky:
virtualenv_sh_add_hook
virtualenv_sh_remove_hook
např .:
my_virtualenv_cleanup ()
{
& Nbsp; # Ještě nějaké věci zde
}
virtualenv_sh_add_hook postdeactivate my_virtualenv_cleanup
Registrovaní hákové funkce se vždy provádějí po všech globálních i lokálních háček skripty.
autoworkon
autoworkon je nový příkaz, který je navržen tak, aby automaticky aktualizovat virtual_env na základě vaší aktuální adresář. Všimněte si, že neexistuje žádný standardní shell mechanismus pro spuštění funkce, když se aktuální změny adresáře - a mnoho skořápky nemají takový mechanismus - takže instalace je to na vás. Pokud používáte zsh, použijete:
autoload -U add-zsh-hák
add-zsh-hák chpwd autoworkon
Funkce autoworkon bude chodit na souborový systém z aktuálního adresáře, dokud buď nedosáhne kořen nebo má položku s názvem ".workon". Pokud je toto čitelný soubor, bude to považovat první řádek jako název virtual_env a aktivovat jej. Existuje několik zvláštních pravidel mít na paměti:
- Autoworkon vždy zastaví na prvním .workon nalezne. Je to naprosto rozumné mít .workon souborů na více místech v adresáři stromu používají různé virtual_envs na různých úrovních.
- Prázdné nebo nečitelný .workon soubor je interpretován jako "no virtual_env". To je užitečné, pokud chcete vypnout automatické virtual_env v určitém podstromu.
- Pokud aktivujete virtual_env ručně, autoworkon nikdy přepsat. . autoworkon změní pouze Aktivní virtual_env případě, že není nastavena nebo byla stanovena autoworkon
Požadavky na :
- Python
Komentáře nebyl nalezen