जब मैं इसी तरह की स्थितियों में भाग लेता हूं, तो मैं आमतौर पर पैकेज मैनेजर से बचता हूं, खासकर अगर यह किसी चीज को तोड़ने के लिए शर्मनाक होगा, यानी उत्पादन सर्वर। इसके बजाय, मैं सक्रिय होकर उनके बाइनरी पैकेज को डाउनलोड करूंगा:
https://www.activestate.com/activepython/downloads/
यह एक स्क्रिप्ट चलाकर स्थापित किया जाता है जो सब कुछ एक फ़ोल्डर में रखता है और किसी भी सिस्टम फ़ाइलों को नहीं छूता है। वास्तव में, आपको इसे सेट करने के लिए रूट अनुमति की भी आवश्यकता नहीं है। फिर मैं बाइनरी का नाम बदलकर apy26 जैसा कुछ करता हूं, उस फ़ोल्डर को PATH के अंत में जोड़ देता हूं और कोडिंग शुरू करता हूं। यदि आप apy26 setup.py install
virtualenv और easyinstall का उपयोग करते हैं या इसके साथ पैकेज स्थापित करते हैं, तो आपके पास सिस्टम मानक अजगर को छूने के बिना बस एक अजगर वातावरण जितना लचीला है।
संपादन ... हाल ही में मैंने लिनक्स के लिए एक पोर्टेबल पायथन बाइनरी बनाने के लिए कुछ काम किया है जो किसी भी बाहरी निर्भरता वाले किसी भी डिस्ट्रो पर चलना चाहिए। इसका मतलब यह है कि पोर्टेबल पायथन मॉड्यूल द्वारा आवश्यक किसी भी बाइनरी साझा पुस्तकालयों के निर्माण का हिस्सा है, टारबॉल में शामिल है और पायथन की निजी निर्देशिका संरचना में स्थापित है। इस तरह आप पायथन को स्थापित सिस्टम के साथ हस्तक्षेप किए बिना अपने आवेदन के लिए पायथन को स्थापित कर सकते हैं।
मेरी गितुब साइट में एक बिल्ड स्क्रिप्ट है जिसे उबंटू लुसीड 10.04 एलटीएस पर 32 और 64 बिट इंस्टॉल दोनों पर पूरी तरह से परीक्षण किया गया है। मैंने इसे डेबियन एच पर भी बनाया है, लेकिन यह कुछ समय पहले था और मैं गारंटी नहीं दे सकता कि मैंने कुछ नहीं बदला है। इसका सबसे आसान तरीका यह है कि आप उबंटू ल्यूसिड की अपनी पसंद को एक वर्चुअल मशीन में डाल दें, स्क्रिप्ट को चेकआउट करें git clone git://github.com/wavetossed/pybuild.git
और फिर स्क्रिप्ट चलाएं।
एक बार जब आप इसे बना लेते हैं, तो किसी भी हाल के लिनक्स डिस्ट्रो पर टारबॉल का उपयोग करें। एक निर्देशिका के साथ इसे स्थानांतरित करने के साथ एक छोटी सी शिकन है /data1/packages/python272
जिसके अलावा patchelf
आपको निर्देशिका को स्थानांतरित करने वाले दुभाषिया पथ को सेट करने के लिए शामिल को चलाना होगा । यह किसी भी बायनेरिज़ को प्रभावित करता है/data1/packages/python272/bin
यह सब RUNPATH के साथ निर्माण और आश्रित साझा पुस्तकालयों की नकल पर आधारित है। भले ही स्क्रिप्ट कई फाइलों में हो, लेकिन यह प्रभावी रूप से /etc/rc.d निर्देशिका की शैली में व्यवस्थित एक लंबी शेल स्क्रिप्ट है।