2010-04-30 10 views
11

yolk -l मुझे जानकारी देता है कि मेरे पास उबंटू 10.04 पर 114 पैकेज स्थापित हैं। नई virtualenv निर्देशिका बनानेवर्चुअलनेव योक समस्या

virtualenv virt_env/virt1 --no-site-packages --clear

मुझे लगता है कि करने के लिए बंद कर इस्तेमाल करने के बाद, मेरे शीघ्र बदला और फिर yolk -l मुझे फिर से एक ही 114 संकुल देता है।

वहां क्या हो रहा है?

+0

वर्चुअल वातावरण में जर्दी स्थापित करने में मदद मिली ... काफी अजीब। –

उत्तर

18

वर्चुअलएन्व को सक्रिय करना आपके खोल पैथ को बदलकर काम करता है ताकि वर्चुअलनेव की बिन/निर्देशिका पहले हो। यह है यह करता है। इसका मतलब यह है कि जब आप "पायथन" चलाते हैं तो यह आपके ग्लोबल सिस्टम पायथन के बजाय पाइथन बाइनरी की वर्चुअलएन्व की प्रति चलाता है।

यदि आपके पास विश्व स्तर पर जर्दी स्थापित है, हालांकि, आपके पैथ पर केवल "जर्दी" बाइनरी/usr/local/bin/yolk या कुछ ऐसे हैं; वर्चुअलएन्व को सक्रिय करने से यह नहीं बदलता है (क्योंकि आपके वर्चुअलनेव बिन/डीआईआर में कोई "जर्दी" स्क्रिप्ट नहीं है)। और/usr/local/bin/yolk स्क्रिप्ट स्वाभाविक रूप से आपके शेबैंग लाइन में पाइथन दुभाषिया है।

यही कारण है कि वर्चुअलएव में जर्दी स्थापित करना समस्या को हल करता है; क्योंकि यह आपके वर्चुअलनव बिन/डीआईआर में एक जर्दी स्क्रिप्ट जोड़ता है जिसमें वर्चुअलवेव की पाइथन अपनी शेबांग लाइन में है।

यदि आप प्रत्येक वर्चुअलनेव में जर्दी स्थापित नहीं करना चाहते हैं, तो आप योक स्क्रिप्ट-रैपर को/usr/local/bin से कहीं भी कॉपी कर सकते हैं या जहां भी यह आपके वर्चुअलनेव के बिन डीआईआर में है, और मैन्युअल रूप से शेबांग लाइन को बदल सकते हैं अपने वर्चुअलनेव के पायथन को इंगित करने के लिए। यह एक --no-site-packages virtualenv के साथ काम नहीं करेगा, हालांकि, क्योंकि स्क्रिप्ट रैपर तब वास्तविक जर्नल पैकेज को खोजने में सक्षम नहीं होगा, जिसे आयात करने की आवश्यकता है! यदि आप एक --no-site-packages virtualenv के भीतर जर्दी का उपयोग करना चाहते हैं, तो वास्तव में आपका एकमात्र विकल्प इसे इंस्टॉल करना है।

+1

प्रत्येक बार जब आप बूटस्ट्रैप स्क्रिप्ट के साथ एक venv बनाते हैं तो यह स्वचालित रूप से किया जा सकता है: http://www.virtualenv.org/en/latest/#creating-your-own-bootstrap-scripts – Hollister

+0

यदि आप वर्चुअलएन्वापर (जिसका उपयोग कर रहे हैं मैं अत्यधिक अनुशंसा करता हूं), अपनी postmkvirtualenv फ़ाइल में 'पाइप इंस्टॉल योक' जोड़ें। http://www.doughellmann.com/docs/virtualenvwrapper/scripts.html#scripts-postmkvirtualenv – Hollister

0

यदि समस्या आपके पथ से संबंधित नहीं है (मुझे लगता है कि यह है) वर्चुअलएन्विन सेटिंग्स को साफ़ करने के लिए अपनी प्रोजेक्ट निर्देशिका में अपनी lib और स्क्रिप्ट फ़ोल्डर को हटा दें। आपके द्वारा पोस्ट की गई कमांड लाइन का उपयोग करके वर्चुअल एनवी को मनोरंजन करें। वर्चुअलएन्व को सक्रिय करें और फिर जर्नल स्थापित करें।

+1

एक विकल्प के रूप में, 'कौन सा जर्दी' आज़माएं - यदि यह (yourvirtualenv)/bin में है तो अपने टर्मिनल को बंद करने और इसे फिर से खोलने का प्रयास करें, अपने वर्चुअलएन्व को सक्रिय करना और 'yolk -l' को एक और बार आज़माएं। मेरे लिए इसे फिक्स्ड – maxm

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