virtualenv-sh helyett áll a tiszteletreméltó virtualenvwrapper & nbsp; (a készlet shell funkciók használatának megkönnyítése virtualenv).
Fejlesztő hozzászólás
Mint sok, én is használtam virtualenvwrapper évek óta, de ez ütött egy kicsit nehéz idők. Én végül találtam magam túl hosszú várakozás az új kagyló elindítani, bár én kezdetben csak az alapvető funkciókat.
Ez a projekt egy kísérlet arra, hogy megoldja ezt a problémát. Én kölcsön az okos bit virtualenvwrapper, eldobott mindent figyelembe vettem drága, vagy egyszerűen nem érdekes, és egy olyan funkciót, vagy két saját. Az első számú prioritása a projekt sebességet. A kód majdnem tiszta shell script, bár lehet egy vagy két felépíthető szabványos eszközök, mint a grep vagy sed.
Figyelj rá, hogy ez a végrehajtás nem az Ön számára. Lehet, hogy ütött megszabadulni a funkciót, hogy tetszett, vagy azért, mert drága volt, vagy mert egyszerűen nem érdekli. Lehet, hogy véletlenül dobni egy fix vagy alternatív megoldást néhány környezeti, hogy én még nem találkoztam. Lehet, hogy most bevezette új hibákat (shell egy könnyű nyelv elvéteni finom módon). Folytassa a saját felelősségére.
telepítése
virtualenv-sh lehet telepíteni pip vagy easy_install. A használatához szükség van a forrás egy shell script shell-be. Alapértelmezésben pip vagy easy_install kell telepíteni a / usr / local / bin. Ha használja bash vagy zsh, akkor importálni a shell script-specifikus; Ha nem, akkor próbáld ki a generikus egyet. Add a következők valamelyikét, hogy a shell init script (.bashrc, .zshrc, stb):
. /usr/local/bin/virtualenv-sh.bash
. /usr/local/bin/virtualenv-sh.zsh
. /usr/local/bin/virtualenv-sh.sh
Semmi más nem szükséges. Csak egy környezeti változó, melynek segítségével a konfiguráció, amely WORKON_HOME. Ez egy olyan út, hogy a gyűjtemény a virutalenvs; akkor hagyja üresen fogadja el az alapértelmezett $ {HOME} /. virtualenvs. Azt feltételezik, hogy virtualenv maga a pálya.
WORKON_HOME = $ {HOME} /. Virtualenvs
zsh
Ha használja zsh, akkor használd inkább előrefordított funkciót archívum az optimális teljesítmény, bár ez kell a forráskódját fordítjuk a gépen. Tudod letölt a források közvetlen vagy próbálja:
pip telepíteni --upgrade --no- telepíteni virtualenv-sh
cd épít / virtualenv-sh
sudo make install
Ez megkeresi zsh a pályára, ez alapján összeállítani virtualenv-sh.zwc, és telepítse a / usr / local / bin. Most AUTOLOAD ezeket a funkciókat és alapértéket virtualenv-sh. Érdemes lehet hivatkozni szóló részben funkciót öntöltő a zsh manuális, ha nem ismeri ezt a folyamatot:
# Konfigurálása minden virtualenv-sh funkciók öntöltő
fpath = (/ usr / local / bin / sh virtualenv-$ fpath)
autoload -w / usr / local / bin / sh virtualenv-
# Hívja a fő inicializálási funkció
virtualenv_sh_init
A
Az alapvető parancsai virtualenv-SH lényegében ugyanaz, mint virtualenvwrapper. Itt egy rövid bedugni:
& Nbsp; mkvirtualenv
& Nbsp; Létrehoz egy új virtual_env a $ WORKON_HOME. Minden érvek át közvetlenül a virtualenv. Az új virtual_env lesz aktív. Ellentétben virtualenvwrapper, ez nem tart újabb érveket.
& Nbsp; rmvirtualenv
& Nbsp; törli a meglévő virtual_env. Ha ez virtual_env éppen aktív, ki van kapcsolva első udvariasságból.
& Nbsp; workon [
& Nbsp; aktiválja a megnevezett virtual_env. Ha egy másik virtual_env éppen aktív, akkor azt is kikapcsolja először. Anélkül, érvek, akkor kiírja az elérhető virtual_envs.
& Nbsp; autoworkon
& Nbsp; automatikusan beállítja az virtual_env alapuló speciális fájlok. Lásd alább.
& Nbsp; kikapcsolása
& Nbsp; Kikapcsolja az aktuális virtual_env (például amikor a virtualenv közvetlenül).
& Nbsp; lsvirtualenvs
& Nbsp; nyomtatók listáját a virtual_envs, amit létrehozott.
& Nbsp; cdvirtualenv [subdir]
& Nbsp; Megváltoztatja az aktuális könyvtárat a gyökere az aktív virtual_env, vagy a könyvtárban képezik.
& Nbsp; lssitepackages
& Nbsp; tartalmát listázza az aktív virtual_env site-packages könyvtárban.
& Nbsp; cdsitepackages [subdir]
& Nbsp; Megváltoztatja a currect könyvtárat a saját csomag- könyvtár az aktív virtual_env, vagy a könyvtárban képezik.
Horog
virtualenv-sh támogatja az azonos globális és lokális (egy-ENV) horgok, mint virtualenvwrapper. Global horgok fájlokat $ WORKON_HOME; helyi horgok fájlok $ WORKON_HOME / {virtual_env} / bin. Horgok hajtják végre a beszerzési őket az aktuális shell összefüggésben.
& Nbsp; alaphelyzetbe (globális)
& Nbsp; Az úgynevezett végén virtualenv_sh_init.
& Nbsp; premkvirtualenv, postmkvirtualv, prermvirtualenv, postmkvirtualenv (globális)
& Nbsp; Az úgynevezett elején és végén mkvirtualenv és rmvirtualenv.
& Nbsp; preactivate, postactivate (globális, helyi); predeactivate, postdeactivate (helyi és globális)
& Nbsp; Az úgynevezett megjelölt sorrendben körül be- és kikapcsolása a virtual_env.
Emellett virtualenv-sh lehetővé teszi, hogy dinamikusan nyilvántartási feladatokat meg kell hívni a végrehajtó horgok:
virtualenv_sh_add_hook
virtualenv_sh_remove_hook
pl .:
my_virtualenv_cleanup ()
{
& Nbsp; # csinálni néhány dolgot itt
}
virtualenv_sh_add_hook postdeactivate my_virtualenv_cleanup
A regisztrált hook funkciók mindig végrehajtásra, miután az összes globális és lokális hook szkripteket.
autoworkon
autoworkon egy új parancs, amelyet arra terveztek, hogy automatikusan frissíti a virtual_env alapján az aktuális könyvtárban. Ne feledje, hogy nincs egységes shell mechanizmus fut a funkciót, amikor az aktuális könyvtár változásokat - és sok kagyló nincs ilyen mechanizmus - így telepítése csak rajtad áll. Ha használja zsh, használja:
autoload -u add-zsh-hook
add-zsh-hook chpwd autoworkon
A autoworkon funkció menjen fel a fájlrendszert az aktuális könyvtárból, amíg akár eléri a gyökér vagy talál egy elemet neve ".workon". Ha ez egy olvasható fájl, akkor fogja kezelni az első sorban, mint a neve a virtual_env és aktiválja. Van egy pár speciális szabályok szem előtt tartani:
- Autoworkon mindig megáll az első .workon talál. Ez teljesen ésszerű, hogy .workon fájlokat több ponton egy könyvtáron különböző virtual_envs különböző szinteken.
- Egy üres vagy olvashatatlan .workon fájl értelmezni, hogy "nem virtual_env". Ez akkor hasznos, ha ki akarja kapcsolni az automatikus virtual_env egy adott részfa.
- Ha aktiváljuk a virtual_env kézzel, autoworkon soha nem bírálhatják felül. autoworkon csak akkor változik az aktív virtual_env Ha ez nincs beállítva, vagy korábban beállított autoworkon.
követelmények :
- Python
Hozzászólás nem található