virtualenv-sh הוא תחליף לvirtualenvwrapper & nbsp המכובדים; (קבוצה של פונקציות מעטפת כדי להקל על השימוש בvirtualenv).
הערות Developer
כמו רבים, אני השתמשתי virtualenvwrapper במשך שנים, אבל זה נעשה קצת כבד לאורך זמן. אני סופו של דבר מצאתי את עצמי מחכה יותר מדי זמן לפגזים חדשים כדי להתחיל את, למרות שאני נוטה להשתמש רק בתכונות הבסיסיות.
פרויקט זה הוא ניסיון לפתור את הבעיה. שאלתי פיסות חכמות של virtualenvwrapper, הושלך כל מה שאני נחשב ליקר או פשוט לא מעניין, והוספתי תכונה או שניים משלי. העדיפות הראשונה של פרויקט זה היא מהירות. הקוד הוא תסריט מעטפת כמעט טהור, אם כי ייתכנו תפילות אחד או שתיים של כלים סטנדרטיים כמו grep או sed.
הזהיר כי יישום זה לא יכול להיות בשבילך. אני יכול להשאיר להיפטר מתכונה שאתה אוהב, או בגלל שזה היה יקר או כי אני פשוט לא היה אכפת לו. אני יכול להיות מושלך בטעות תיקון או לעקיפת הבעיה עבור חלק מהסביבה שלא נתקלה בו. ייתכן שיש לי רק הציג באגים חדשים (קליפה היא שפה קלה להגיע טועה בדרכים עדינות). המשך על אחריותך בלבד.
התקנה
ניתן להתקין virtualenv-sh עם חרצן או easy_install. כדי להשתמש בו, אתה צריך מקור תסריט פגז אחד בסביבת הפגז שלך. כברירת מחדל, PIP או easy_install צריך להתקין אותו ל/ usr / local / bin. אם אתה משתמש בbash או zsh, אתה צריך לייבא את תסריט הפגז ספציפי; אחרת, אתה יכול לנסות את גנרי אחד. להוסיף אחת מהפעולות הבאות לתסריט של הפגז שלך init (.bashrc, .zshrc, וכו '):
. /usr/local/bin/virtualenv-sh.bash
. /usr/local/bin/virtualenv-sh.zsh
. /usr/local/bin/virtualenv-sh.sh
שום דבר אחר לא נדרש. יש רק אחד משתנה הסביבה שאתה יכול להשתמש עבור תצורה, שהוא WORKON_HOME. זהו נתיב לאוסף של virutalenvs שלך; אתה יכול להשאיר את המקום ריק כדי לקבל את ברירת המחדל של $ {} בית /. virtualenvs. הנחה היא כי virtualenv עצמו הוא בדרך שלך.
WORKON_HOME = $ {} בית /. Virtualenvs
zsh
אם אתה משתמש בzsh, אתה יכול במקום להשתמש בארכיון הפונקציה שעבר קומפילציה מראש עבור ביצועים אופטימליים, אם כי זה צריך להיות הידור ממקור במחשב שלך. ניתן להוריד את המקור באופן ישיר או לנסות:
PIP להתקין --upgrade --no להתקין virtualenv-sh
לבנות cd / virtualenv-sh
sudo make install
זה ימצא zsh בדרך שלך, להשתמש בו כדי לקמפל virtualenv-sh.zwc, ולהתקין אותה ל/ usr / local / bin. עכשיו אתה יכול autoload פונקציות אלה ולאתחל virtualenv-sh. אולי אתה רוצה להתייחס לסעיף על autoloading פונקציה במדריך zsh אם אתה לא מכיר את התהליך הזה:
# להגדיר את כל פונקציות virtualenv-sh לautoloading
fpath = ($ fpath usr / / bin / sh virtualenv-המקומי /)
autoload -w / usr / / bin / sh virtualenv-מקומי
# קרא לפונקצית האתחול הראשית
virtualenv_sh_init
שימוש ב
פקודות הבסיסיות של virtualenv-sh הן בעצם אותו הדבר כמו virtualenvwrapper. הנה סיכום קצר:
& Nbsp; mkvirtualenv
& Nbsp; יצירת virtual_env חדש בWORKON_HOME $. כל הטיעונים מועברים ישירות לvirtualenv. Virtual_env החדש יהיה פעיל. שלא כמו virtualenvwrapper, זה לא לוקח ארגומנטים נוספים.
& Nbsp; rmvirtualenv
& Nbsp; מוחק virtual_env הקיים. אם virtual_env זה פעיל כרגע, זה הוא מנוטרל ראשון כמחווה.
& Nbsp; workon [
& Nbsp; מפעיל virtual_env בשם. אם virtual_env אחר פעיל כרגע, זה יופסק ראשון. בלי ויכוחים, זה יהיה ברשימה virtual_envs הזמינים.
& Nbsp; autoworkon
& Nbsp; מגדיר באופן אוטומטי virtual_env מבוסס על קבצים מיוחדים. ראה למטה.
& Nbsp; ביטול
& Nbsp; מבטל virtual_env הנוכחי (כפי שבעת שימוש virtualenv ישירות).
& Nbsp; lsvirtualenvs
& Nbsp; מדפיס רשימה של virtual_envs שיצרת.
& Nbsp; cdvirtualenv [subdir]
& Nbsp; שינוי הספרייה הנוכחית לשורש virtual_env הפעיל, או בספריית המשנה.
& Nbsp; lssitepackages
& Nbsp; רשימות התוכן של ספריית אתר-החבילות של virtual_env הפעיל.
& Nbsp; cdsitepackages [subdir]
& Nbsp; משנה את ספריית currect לספריית אתר-חבילות של virtual_env הפעיל, או בספריית משנתו.
הוקס
virtualenv-sh תומך ווים אותו עולמי ומקומי (מחיר ל- env) כvirtualenvwrapper. ווים גלובליים הם קבצים בWORKON_HOME $; ווים מקומיים הם קבצים ב$ WORKON_HOME / {} virtual_env / bin. ווים מבוצעים על ידי מקורם בהקשר הפגז הנוכחי.
& Nbsp; לאתחל (גלובלי)
& Nbsp; קרא בסוף virtualenv_sh_init.
& Nbsp; premkvirtualenv, postmkvirtualv, prermvirtualenv, postmkvirtualenv (גלובלי)
& Nbsp; קרא בתחילת וסוף mkvirtualenv וrmvirtualenv.
& Nbsp; preactivate, postactivate (הגלובלי, מקומי); predeactivate, postdeactivate (מקומי, גלובלי)
& Nbsp; קרא בצו הצביע סביב הפעלה וכיבוי של virtual_env.
בנוסף, virtualenv-sh מאפשר לך לרשום באופן דינמי פונקציות שייקרא בעת ביצוע ווים:
virtualenv_sh_add_hook
virtualenv_sh_remove_hook
e.g .:
my_virtualenv_cleanup ()
{
& Nbsp; # לעשות כמה דברים כאן
}
virtualenv_sh_add_hook postdeactivate my_virtualenv_cleanup
פונקציות וו רשומות תמיד מבוצעות לאחר כל תסריטי הוו מקומיים והגלובליים.
autoworkon
autoworkon היא פקודה חדשה שנועדה לעדכן באופן אוטומטי virtual_env שלך מבוססת על הספרייה הנוכחית שלך. שים לב שאין מנגנון סטנדרטי פגז להפעלת פונקציה כאשר השינויים הנוכחיים בספרייה - ופגזים רבים אין לי מנגנון כזה - כך התקנה זה תלוי בך. אם אתה משתמש בzsh, עליך להשתמש:
autoload -u תוספת zsh-וו
תוספת zsh-וו autoworkon chpwd
פונקצית autoworkon תלך עד מערכת הקבצים מהספרייה הנוכחית עד שגם מגיעה לשורש או מוצא פריט בשם ".workon". אם זה קובץ קריא, זה יתייחס השורה הראשונה כמו השם של virtual_env ולהפעיל אותו. ישנם כמה כללים מיוחדים שכדאי לזכור:
- Autoworkon תמיד עוצר ב.workon הראשון שהוא מוצא. זה לגמרי סביר שיהיה לי קבצי .workon בנקודות מרובות בעץ ספרייה להשתמש virtual_envs השונה ברמות שונות.
- קובץ .workon ריק או בלתי קריא מתפרש כ" אין virtual_env ". האפשרות זו שימושית אם אתה רוצה לבטל את virtual_env האוטומטי בעץ משנה מסוים.
- אם תפעיל virtual_env ידני, autoworkon לעולם לא יעקוף אותו. . Autoworkon רק לשנות virtual_env הפעיל שלך, אם זה אינו מוגדר או נקבע בעבר על ידי autoworkon
דרישות :
- Python
תגובות לא נמצא