2012-05-09 32 views
6

के साथ काम नहीं करता है मैं ग्लोबल पायथन पैकेज के बिना वर्चुअलएन्व बनाना चाहता हूं, लेकिन साझा किए गए स्पीसी वितरण के साथ; scipy स्थापित करने में काफी समय लगता है और मैं अक्सर गति के माध्यम से जाना नहीं चाहता।add2virtualenv (virtualenv wrapper) scipy

तो मैं add2virtualenv /Library/Python/2.7/site-packages/scipy चलाता हूं और add2virtualenv चलाने के बाद यह दिखाता है कि निर्देशिका जोड़ा गया है। (मैंने डबल चेक किया, यह सही निर्देशिका है)। फिर यह सुनिश्चित करने के लिए कि कार्यशील निर्देशिकाएं पुनः लोड की गई हैं, मैं workon myfile जारी करता हूं। हालांकि, जब मैं scipy लोड करने का प्रयास करता हूं, तो यह ImportError: No module named scipy है। यह अप्रत्याशित है।

क्या किसी ने गैर-वैश्विक-साइटपैकेज वर्चुअलएन्व में वैश्विक गति का उपयोग किया है?

+1

add2virtualenv निर्दिष्ट निर्देशिका को PythonPATH में जोड़ें। इसलिए आपको अपना पूरा साइट-पैकेज आयात करने के लिए जोड़ना चाहिए। – rubik

+1

वर्चुअल एनवी के साइट-पैकेज – rubik

+0

के अंदर एक वैकल्पिक समाधान सिम्प्लिंकिंग सिसिली निर्देशिका होना चाहिए धन्यवाद। इसलिए मैंने add2virtualenv का उपयोग करने के तरीके का गलत व्याख्या किया। क्या कोई कमांड नहीं है जो एक विशिष्ट पैकेज को जोड़ना आसान बनाता है? (symlinking के अलावा?) – Okke

उत्तर

3

तो संक्षेप में, यहां वास्तविक समस्या यह है कि आयात किए जाने वाले संकुल सहित निर्देशिका का उपयोग विशिष्ट पैकेज के बजाय किया जाना चाहिए। इस समाधान दोष यह है कि आप न केवल कर scipy शामिल हैं, लेकिन /Library/Python/2.7/site-packages में किसी भी अन्य संकुल है: यह यह होना चाहिए

add2virtualenv /Library/Python/2.7/site-packages 

खबरदार

add2virtualenv /Library/Python/2.7/site-packages/scipy 

के बजाय, है।


आभासी env की साइट-पैकेज के अंदर एक वैकल्पिक, अंतरिक्ष कुशल समाधान symlinking किया जा सकता है scipy निर्देशिका। यह किया जा सकता है, अपने वर्चुअल env में, के माध्यम से:

cdsitepackages 
ln -s /Library/Python/2.7/site-packages/scipy scipy 

सभी क्रेडिट अपनी साइट-संकुल पथ को खोजने के लिए @rubik को (टिप्पणी देखें)

बाहर चेक this जवाब जाना यदि यह यहां इस्तेमाल किए गए एक से अलग है।