2012-12-09 14 views
7

मैंने थोड़ी देर में अपने पायथन/वर्चुअल वातावरण का उपयोग नहीं किया है, लेकिन मेरे पास वर्चुअलएन्वायरमेंट रैपर भी स्थापित है।आपको WORKON_HOME पर्यावरण चर सेट करने की आवश्यकता क्यों है?

मेरा प्रश्न, डॉक पेज में यह ऐसा करने के लिए कहते हैं:

export WORKON_HOME=~/Envs 
$ mkdir -p $WORKON_HOME 
$ source /usr/local/bin/virtualenvwrapper.sh 
$ mkvirtualenv env1 

मैं बस मेरी प्रॉम्प्ट पर ऐसा किया:

source /usr/local/bin/virutalenvwrapper.sh 

और अब मैं सूची और से एक वातावरण का चयन कर सकते कर रहा है:

>workon 

>workon envtest1 

मेरा प्रश्न है, क्योंकि यह मेरे लिए काम करता है, मैं उलझन में हूं कि मुझे पर्यावरण परिवर्तन क्यों बनाना चाहिए सक्षम WORKON_HOME और इसे ~/Envs फ़ोल्डर में इंगित करें? वह क्या करता है और मेरा काम कैसे ठीक करता है? मेरे पास वह/Envs फ़ोल्डर नहीं है (मुझे पता है कि स्क्रिप्ट इसे बनाता है)।

संदर्भ: http://virtualenvwrapper.readthedocs.org/en/latest/

उत्तर

8

तो WORKON_HOME सेट नहीं है, तो आपके डिफ़ॉल्ट virtualenv फ़ोल्डर में ~/.virtualenvs
(virtualenvwrapper.sh l.118 देखें)

तुम भी WORKON_HOME का उपयोग करेगा pip जो फ़ोल्डर का उपयोग करने के लिए निर्दिष्ट करने के लिए (स्थापित किया जाएगा export PIP_VIRTUALENV_BASE=$WORKON_HOME)

स्रोत: virtualenvwrapper.readthedocs.org : Tying to pip’s virtualenv support

+1

'PIP_VIRTUALENV_BASE' को बहिष्कृत किया गया है: https://bitbucket.org/dhellmann/virtualenvwrapper/issue/225/pip_virtualenv_base-and –

+0

मेरा घर प्रोजेक्ट फ़ोल्डर' ~/प्रोजेक्ट्स' है। मैं इस जवाब में ठोकर खाई क्योंकि मुझे एक ही समस्या का सामना करना पड़ रहा था ** और ** मैं इसे पहचानने में सक्षम नहीं था जब मेरे पास '$ WORKON_HOME' चर सेट था। आखिर में मैंने अभी 'एलएन-एस ~/प्रोजेक्ट ~ /। Virtualenvs' किया था। समस्या सुलझ गयी। जानकारी के लिए धन्यवाद। –

+1

ताकि $ WORKON_HOME वास्तव में वैकल्पिक हो, यदि आप उन प्रोजेक्ट envs को डिफ़ॉल्ट ~/.virtualenvs में डालकर खुश हैं और फिर अगला प्रश्न यह है कि क्या एक अलग-से-डिफ़ॉल्ट फ़ोल्डर का उपयोग करने के लिए कोई प्रेरणा है? – RayLuo

0

मुझे उलझन में है कि मुझे पर्यावरण परिवर्तनीय WORKON_HOME क्यों बनाना चाहिए और इसे ~/Envs फ़ोल्डर में इंगित करना चाहिए?

यह वैकल्पिक है। आप उलझन में हैं (जैसे मैं था) क्योंकि दस्तावेज उलझन में है।

यह क्या करता है और मेरा काम कैसे ठीक करता है?

यह virtualenvwrapper बताता है कि कौन सा फ़ोल्डर पायथन वातावरण की खोज करता है। आदेश workon पथ WORKON_HOME को परिभाषित करता है यदि यह परिभाषित किया गया है, या ~/.virtualenvs यदि यह नहीं है, तो यह डिफ़ॉल्ट रूप से काम करता है।

एक अलग WORKON_HOME निर्देशिका को परिभाषित करने के लिए एक उपयोग केस होगा यदि आपके पास virtualenvwrapper पर उपलब्ध विभिन्न वातावरण हैं। उदाहरण के लिए, यदि आप वर्चुअल एनवी बैकअप को किसी भिन्न फ़ोल्डर में सहेजते हैं या आपके पास अपने स्वयं के वातावरण बनाए रखने वाले एकाधिक उपयोगकर्ता हैं।

संबंधित मुद्दे