2012-08-05 15 views
5

मैंने Ubuntu 12.04 पर पैकेज पायथन-जीएफएन स्थापित किया और इसके साथ खेला: यह एक पायथन है जो gnome कॉन्फ़िगरेशन टूल के लिए बाध्यकारी है, और इसके लिए कोई पाइप पैकेज नहीं है।सिस्टम वर्चुअल पर स्थापित इस संकलित मॉड्यूल को देखने के लिए मेरे वर्चुअलएन्व को कैसे बल दें?

जैसे ही मैंने (--no-site-packages बिना ) एक virtualenv बनाया, gconf आयात करने के लिए किसी भी प्रयास को ImportError उत्पन्न करेगी।

gconf मॉड्यूल सिस्टम स्तर पर ठीक काम करता है, लेकिन वर्चुअल एनवी में नहीं। मैंने जांच की, और python-gconf.deb खोलने से मुझे सिखाया कि यह सिर्फ एक gconf.so बाइनरी है।

इसके लिए सर्च कर रहे हैं मुझसे कहता है यह /home/lib/python2.7/dist-packages/gtk-2.0/gconf.so

में स्थापित किया गया है मैं अजगर हाथों मजबूर करने की कोशिश की थी:

sudo ln -s /usr/lib/python2.7/dist-packages/gtk-2.0/gconf.so ~/.virtualenvs/appetizer/lib/python2.7/site-packages/ 

लेकिन यह केवल के परिणामस्वरूप:

>>> import gconf 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: could not import gobject (error was: 'No module named gobject') 

तो मैं यह बहुत जीटीके के लिए निर्भर है अनुमान लगा रहा हूँ।

+0

वर्चुअलनव के आपके संस्करण में '- सिस्टम-साइट-पैकेज' है। '--no-site-packages' अप्रचलित है। – jfs

+0

धन्यवाद जे.एफ. वह समस्या थी। आपको इसे एक उत्तर के रूप में लिखना चाहिए ताकि मैं आपको ऊपर उठा सकूं। –

उत्तर

4

आपको सभी सिस्टम संकुल दृश्यमान बनाने के लिए --system-site-packages विकल्प का उपयोग करके अपना वर्चुअलनव बनाना चाहिए। वर्चुअलनेव की संरचना में बाहरी संकुल को सिम्लिंक करना भी अधिकांश स्थितियों के लिए काम करता है जब आपको केवल एक बाहरी पैकेज की आवश्यकता होती है।

+0

आसान प्रतिनिधि, दोस्त :-) –

0

यदि आपने पहले से ही अपना वर्चुअल वातावरण बनाया है, तो इसे सिस्टम पैकेज देखने के लिए no-global-site-packages.txt फ़ाइल को हटा दें।