मैं इस धारणा के तहत था कि virtualenv --no-site-packages
पायथन पर्यावरण को पूरी तरह से अलग और पृथक बना देगा, लेकिन ऐसा नहीं लगता।
उदाहरण के लिए, मेरे पास विश्व स्तर पर अजगर-डीजंगो स्थापित है, लेकिन एक अलग Django संस्करण के साथ एक वर्चुअन बनाने की इच्छा है।
$ virtualenv --no-site-packages foo
New python executable in foo/bin/python
Installing setuptools............done.
$ pip -E foo install Django
Requirement already satisfied: Django in /usr/share/pyshared
Installing collected packages: Django
Successfully installed Django
जो मैं बता सकता हूं, pip -E foo install
उससे ऊपर को Django के एक नए संस्करण को फिर से स्थापित करना है। इसके अलावा, अगर मैं पर्यावरण को स्थिर करने के लिए पाइप बताता हूं, तो मुझे बहुत सारे पैकेज मिलते हैं। मुझे उम्मीद है कि इसके साथ एक ताजा वातावरण के --no-site-packages
लिए खाली हो जाएगा?
$ pip -E foo freeze
4Suite-XML==1.0.2
BeautifulSoup==3.1.0.1
Brlapi==0.5.3
BzrTools==1.17.0
Django==1.1
... and so on ...
क्या मुझे गलतफहमी --no-site-packages
है कि काम कैसे करना चाहिए?
--no-site-packages
कि डीप्रीकेटेड है। केवल पिछड़ी अनुकूलता के लिए रिटेन किया गया। वैश्विक साइट-संकुल तक पहुँच नहीं होना अब डिफ़ॉल्ट व्यवहार है । यदि आप वैश्विक साइट-संकुल तक पहुँचना चाहते हैं, तो आप सक्षम कर सकते हैं --system-site-packages
।