मैं कुछ संकुल को किसी तृतीय-पक्ष site-packages
निर्देशिका (मानक सिस्टम स्थानों से परे) में स्थापित करना चाहता हूं। क्या इसे स्थापित करने का कोई तरीका है कि उसमें .pth फ़ाइलों का सम्मान किया जाता है?एक द्वितीयक साइट-पैकेज निर्देशिका (और उसमें .pth फ़ाइलों से संकुल लोड करना)
पृष्ठभूमि: मैं ओएस एक्स, वर्चुअलनेव और होमब्रू का उपयोग कर रहा हूं। कुछ पैकेज हैं (विशेष रूप से मेरे मामले में wxPython) जो वर्चुअलenv में पाइप के माध्यम से अच्छी तरह से स्थापित नहीं करते हैं। इन मामलों में, होमब्री पैकेज हैं जो उनके स्थान पर काम करते हैं। होमब्रू /usr/local/lib/python2.7
में एक तीसरी साइट-पैकेज फ़ोल्डर बनाता है। मैं बस इस फ़ोल्डर को इंगित करना चाहता हूं और brew
के नियंत्रण में सभी वस्तुओं का रख-रखाव छोड़ना चाहता हूं। ऐसा लगता है कि, यह संभव नहीं है।
$PYTHONPATH
के माध्यम से पथ में शामिल करना .pth फ़ाइलों को लोड नहीं करता है। (Should Python 2.6 on OS X deal with multiple easy-install.pth files in $PYTHONPATH?)- पायथन ने .pth फ़ाइलों के घोंसले या पुनरावर्ती उपयोग की अनुमति नहीं दी है। (Nested .pth Files or Loading Extra site-dirs from a Network)
- वर्चुअलनेव
add2virtualenv
के लिए रैपर .pth फ़ाइल में कुछ अतिरिक्त स्मारक जोड़ता है, बस निर्देशिका सूचीबद्ध होने से परे, लेकिन मेरा मानना है कि यह केवल पथ सूची को पीछे रखता है।
मैं निश्चित रूप से इस मुद्दे में रुचि रखने वाला अकेला नहीं हूं। मैं जेनेरिक 'पीएचटी फाइलों पर काम नहीं कर रहा हूं' प्रश्नों और पदों की एक अच्छी संख्या को दांव दूंगा जो मैंने इस मुद्दे से संबंधित हैं। क्या कोई अच्छा समाधान है?
sitecustomize.py करो
.pth
फ़ाइलें रख या स्वचालित रूप से स्टार्टअप पर चलने मिल usercustomize.py कर सकते हैं? संपादित करें: [हाँ, हाँ वे करते हैं] (http://docs.python.org/library/site.html)। धन्यवाद! –@MattB। हां, कुछ अतिरिक्त जानकारी के साथ मेरा जवाब संपादित किया। दस्तावेज साइट मॉड्यूल पेज के शीर्ष से आता है जिसे मैंने अपने उत्तर में जोड़ा था। –
मैं अभी भी पूरी तरह से समझ नहीं पा रहा हूं कि साइट कैसे काम करती है, लेकिन: (1) इसे additedir ('/ usr/local'), यानी वैकल्पिक उपसर्ग (लेकिन यह मेरे लिए काम नहीं करता) द्वारा नहीं होना चाहिए, या (2) additedir ('/ usr/local/lib/python2.7/site-packages') जोड़ने के लिए पथ, और उस दूसरे मामले में, इसे सिर्फ PythonPATH में क्यों नहीं जोड़ना? –