के लिए अतिरिक्त स्थानों का उपयोग करने के लिए पाइथन को कॉन्फ़िगर करना क्या मौजूदा स्क्रिप्ट को संशोधित किए बिना अतिरिक्त site-packages
स्थानों के बारे में पाइथन को बताने का कोई तरीका है?साइट-पैकेज
मेरे सेंटोस 5.5 सर्वर पर मेरे पास एक पाइथन 2.7 स्थापना है जो /opt/python2.7.2
में स्थापित है और site-packages
फ़ोल्डर /opt/python2.7.2/lib/python2.7/site-packages
पर है।
इसका कारण यह है कि मैं मौजूदा पायथन 2.4 इंस्टॉल को परेशान नहीं करना चाहता था जो 5.5 वितरण के साथ भेज दिया गया था।
हालांकि एक तीसरी पार्टी पायथन एप्लिकेशन ने site-packages
फ़ोल्डर को /usr/local/lib/python2.7/site-packages
पर भी जोड़ा और उस स्थान पर स्वयं स्थापित किया।
यह आंशिक रूप से मेरी गलती है क्योंकि मैंने इंस्टॉल करने से पहले Makefile
में PREFIX
को ट्विक नहीं किया था, हालांकि अब इसके बारे में मैं इतना कुछ नहीं कर सकता।
मुझे पता है कि मैं यह कर सकता:
import sys; sys.path.insert(0, "/usr/local/lib/python2.7/site-packages")
लेकिन यह मुझे हर स्क्रिप्ट पर नज़र रखने और इसके बाद के संस्करण है जो भविष्य में अद्यतन होना चाहिए आदर्श नहीं है जोड़ने शामिल होगा।
ln -sf /usr/local/lib/python2.7/site-packages/theapp /opt/python2.7.2/lib/python2.7/site-packages/theapp
यह ठीक काम करने के लिए प्रकट होता है लेकिन वहाँ एक बेहतर तरीका है कि अगर मैं सोच रहा हूँ:
इस के आसपास पाने के लिए मैं इस तीसरे पक्ष के आवेदन के स्थान पर /opt/python2.7.2/lib/python2.7/site-packages
में एक प्रतीकात्मक कड़ी बनाया?
यह एक इलाज करता है, हालांकि मैंने गोली मारने और तैनाती को ठीक करने का फैसला किया। लेकिन वैसे भी धन्यवाद, भविष्य के लिए जानना उपयोगी है। – Kev
यह पाइथन पथ के * अंत * के पथ को जोड़ता है। क्या होगा यदि आप अपनी कस्टम साइट-पैकेज पहले आना चाहते हैं? मैं कुछ सफलता के साथ साइटcustomize.py फ़ाइल के साथ प्रयोग कर रहा हूं, लेकिन ऐसे किनारे के मामले लगते हैं जहां पाइथन पथ को आसानी से जोड़ना पर्याप्त नहीं है। – wryfi