(Virtualenv istifadə asanlaşdırmaq üçün shell funksiyaları bir set)
virtualenv-sh qocaman virtualenvwrapper & nbsp üçün bir əvəz edir.
Developer comments
Çox kimi, mən il üçün virtualenvwrapper istifadə etdiyiniz, lakin bu müddət ərzində ağır bir az kazanılmış var. Mən nəhayət mən yalnız əsas funksiyaları istifadə etmək üçün meyl baxmayaraq, yeni mərmi başlamaq üçün özümü çox uzun gözləyir tapılmadı.
Bu layihə bu problemi həll etmək üçün cəhd edir. Mən virtualenvwrapper ağıllı bit borc Mən bahalı və ya yalnız maraqlı hesab hər şeyi atılır və xüsusiyyət və ya öz iki əlavə edib. Bu layihənin bir nömrəli prioritet sürəti. grep və ya sed kimi standart alətlər bir və ya iki invocations ola bilər, baxmayaraq ki, kodu, demək olar ki, təmiz shell script edir.
Bu həyata keçirilməsi sizin üçün ola bilər ki, xəbərdar olun. Mən yalnız bu barədə qayğı etməyib, çünki bu bahalı idi və ya çünki siz xoşuma gəldi bir xüsusiyyət xilas kazanılmış ola bilər. Mən təsadüfən mən rast deyil ki, bəzi ətraf mühit üçün bir düzeltme və ya çözüm ləğv edə bilər. Mən yalnız (shell incə yollarla yanlış almaq üçün asan bir dil) yeni hataları təqdim edə bilər. Öz riski keçin.
qurmaq
virtualenv-sh tırtıl və ya easy_install ilə quraşdırıla bilər. Istifadə etmək üçün, sizin shell ətraf mühit bir shell script mənbə lazımdır. Default, tırtıl və ya easy_install üçün / usr / local / bin qurmaq lazımdır. Siz bash və ya zsh istifadə edirsinizsə, siz shell xüsusi script idxal etməlidir; başqa, ümumi bir cəhd edə bilərsiniz. Sizin shell-nin init script (.bashrc, .zshrc, və s.) Üçün aşağıdakılardan birini edin:
. /usr/local/bin/virtualenv-sh.bash
. /usr/local/bin/virtualenv-sh.zsh
. /usr/local/bin/virtualenv-sh.sh
Başqa heç bir şey tələb olunur. Siz WORKON_HOME olan konfiqurasiya üçün istifadə edə bilərsiniz yalnız bir mühit dəyişən var. Bu virutalenvs sizin toplanması üçün bir yoldur; Siz boş $ {HOME} /. virtualenvs default qəbul etmək tərk edə bilər. Bu özü yolunda olduğunu virtualenv güman edilir.
WORKON_HOME = $ {HOME} /. Virtualenvs
zsh
Siz zsh istifadə edirsinizsə bu maşın mənbədən tərtib etmək lazımdır, baxmayaraq ki, əvəzinə, optimal performans üçün precompiled funksiyası arxivi istifadə edə bilərsiniz. Siz birbaşa mənbə download və ya cəhd edə bilərsiniz:
--upgrade bərpa Pip virtualenv-sh Heç bir quraşdırma
cd build / virtualenv-sh
sudo bərpa etmək
Bu virtualenv-sh.zwc tərtib üçün istifadə, yol zsh tapmaq və / usr / local / bin bərpa edəcək. Bu funksiyaları indi Autoload və virtualenv-Ş başlamaq olar. Siz bu prosesi ilə tanış değilseniz zsh dərslik funksiyası autoloading bölməsində müraciət edə bilərsiniz:
Autoloading üçün # Yapılandır bütün virtualenv-sh funksiyaları
fpath = (/ usr / local / bin / virtualenv-sh $ fpath)
autoload w / usr / local / bin / virtualenv-sh
# Əsas başlatma funksiyası zəng
virtualenv_sh_init
istifadə
virtualenv-sh əsas əmrləri mahiyyətcə virtualenvwrapper kimi eynidir. Burada qısa recap var:
& Nbsp; mkvirtualenv
& Nbsp; $ WORKON_HOME yeni bir virtual_env yaradır. Bütün dəlilləri virtualenv birbaşa qəbul olunur. Yeni virtual_env aktiv olacaq. Virtualenvwrapper fərqli olaraq, bu heç bir əlavə arqumentlər edir.
& Nbsp; rmvirtualenv
& Nbsp; mövcud virtual_env siler. Bu virtual_env hazırda aktiv olarsa, bir nəzakət kimi ilk ləğv olunur.
& Nbsp; workon [
& Nbsp; adlı virtual_env aktivləşdirir. Başqa virtual_env hazırda aktiv olarsa, ilk ləğv olunacaq. Dəlilləri olmadan, mövcud virtual_envs siyahısını verir.
& Nbsp; autoworkon
& Nbsp; avtomatik olaraq xüsusi fayllar əsasında virtual_env edir. Aşağıya baxın.
& Nbsp; ləğv
& Nbsp; (birbaşa virtualenv istifadə edərkən kimi) cari virtual_env pasifleştirir.
& Nbsp; lsvirtualenvs
& Nbsp; yaratdığınız virtual_envs siyahısını görüntüler.
& Nbsp; cdvirtualenv [subdir]
& Nbsp; fəal virtual_env kök, və ya onun alt üçün cari kataloq dəyişir.
& Nbsp; lssitepackages
& Nbsp; fəal virtual_env site-paketləri kataloq məzmunu listeler.
& Nbsp; cdsitepackages [subdir]
& Nbsp; fəal virtual_env site-paketləri kataloq və ya onun bir alt qovluq üçün currect kataloq dəyişir.
Hooks
virtualenv-sh virtualenvwrapper eyni qlobal və yerli (başı ENV) qarmaqlar dəstəkləyir. Global qarmaqlar $ WORKON_HOME faylları edir; Yerli qarmaqlar $ WORKON_HOME / {virtual_env} / bin faylları var. Hooks cari shell kontekstində onlara satınalma həyata keçirir.
& Nbsp; başlamaq (qlobal)
& Nbsp; virtualenv_sh_init sonunda çağırıb.
& Nbsp; premkvirtualenv, postmkvirtualv, prermvirtualenv, postmkvirtualenv (qlobal)
& Nbsp; əvvəlinə və mkvirtualenv və rmvirtualenv sonunda çağırıb.
& Nbsp; preactivate, postactivate (qlobal, yerli); predeactivate, postdeactivate (yerli, qlobal)
& Nbsp; bir virtual_env aktivləşdirilməsi və ləğv edilməsi ətrafında göstərilən qaydada çağırıb.
Bundan əlavə, virtualenv-sh qarmaqlar icra zamanı adlandırmaq dinamik funksiyaları qeydiyyatdan imkan verir:
virtualenv_sh_add_hook
virtualenv_sh_remove_hook
e.g .:
my_virtualenv_cleanup ()
{
& Nbsp; # burada məhsulları etmək
}
virtualenv_sh_add_hook postdeactivate my_virtualenv_cleanup
Qeydiyyat çəngəl funksiyaları həmişə bütün qlobal və yerli çəngəl scripts sonra icra olunur.
Autoworkon
autoworkon avtomatik olaraq cari kataloq əsasında virtual_env yeniləmək üçün nəzərdə tutulmuşdur bir yeni əmr edir. Və bir çox mərmi belə bir mexanizm yoxdur - - bu quraşdırma size cari directory dəyişikliklər funksiyası çalışan üçün heç bir standart shell mexanizmi olduğunu unutmayın. Siz zsh istifadə edirsinizsə, istifadə edirəm:
autoload əlavə zsh-çəngəl -u
əlavə zsh-hook chpwd autoworkon
Bu ".workon" adlı bir maddə kök çatır və ya tapır ya qədər autoworkon funksiyası cari kataloq fayl up gəzmək olacaq. Bu oxunaqlı fayl varsa, bu virtual_env adı kimi ilk xətt müalicə və onu aktivləşdirmək olacaq. Unutmayın xüsusi qaydalar bir neçə var:
- Autoworkon həmişə tapdığı ilk .workon vermir. Bu, müxtəlif səviyyələrdə müxtəlif virtual_envs istifadə etmək üçün bir kataloq ağacı çox bal .workon faylları üçün mükəmməl ağlabatan deyil.
- Boş və ya okunmaz .workon file "heç bir virtual_env" kimi şərh olunur. Müəyyən bir subtree avtomatik virtual_env söndürmək istəyirsinizsə, bu faydalıdır.
- Siz özünüz bir virtual_env aktivləşdirmək varsa, autoworkon yalnış heç vaxt. . Bu unset və ya əvvəllər autoworkon tərəfindən müəyyən edilib autoworkon yalnız aktiv virtual_env dəyişəcək
tələblər
- Python
Şərhlər tapılmadı