2008-09-27 14 views
8

मैं python 2.6rc2 से ubuntu 8.04 के साथ आपूर्ति की गई डिफ़ॉल्ट पायथन स्थापना (2.5.2) को अपग्रेड करना चाहता हूं। मैं सिस्टम पर 2.6 को डिफ़ॉल्ट पायथन संस्करण बनाना चाहता हूं और 2.5.2 पर पाइथन 2.6rc2 पर स्थापित अन्य सभी उपयोगी स्थापित पायथन लाइब्रेरी माइग्रेट करना चाहता हूं। कृपया मुझे बताएं कि मैं इसे कैसे प्राप्त कर सकता हूं।मैं यूबंटू लिनक्स 8.04 पर पायथन 2.5.2 से पायथन 2.6rc2 को अपग्रेड कैसे करूं?

धन्यवाद डिर्क

+0

यह वास्तव में बुरा विचार डिफ़ॉल्ट अजगर स्थापना को बदलने के लिए है। बस एक और निर्देशिका में python 2.6 अलग स्थापित करें। – nosklo

उत्तर

15
चेतावनी मुझे लगता है कि यह एक काफी बुरा विचार है एक अप्रकाशित बीटा संस्करण के साथ डिफ़ॉल्ट अजगर को बदलने के लिए के साथ

:

पहले, 2.6rc2 स्थापित करें। आप स्रोत को Python website से डाउनलोड कर सकते हैं। मानक ./configure && make && sudo make install स्थापना शैली।

अगला, /usr/bin/python सिम्लिंक को हटा दें। /usr/bin/python2.5 हटाएं। ln -s /usr/local/bin/python2.6 /usr/bin/python के साथ 2.6 में एक सिम्लिंक जोड़ें।

एक बार फिर, मुझे लगता है कि यह एक भयानक विचार है। जो कुछ भी आप पूरा करने की कोशिश कर रहे हैं, उसे करने का लगभग एक बेहतर तरीका है।


स्थापित पुस्तकालयों प्रवास के एक बहुत लंबे समय तक प्रक्रिया है। /usr/lib/python2.5/site-packages/ और /usr/local/lib/python2.5/site-packages/ निर्देशिकाओं में देखें। उन्हें स्थापित किसी भी पुस्तकालय को 2.6 के साथ फिर से स्थापित करने की आवश्यकता होगी। चूंकि आप एक पैक किए गए पायथन संस्करण का उपयोग नहीं कर रहे हैं, इसलिए आप उबंटू के पैकेज का उपयोग नहीं कर सकते हैं - आपको अपने सभी पुस्तकालयों को मैन्युअल रूप से अपग्रेड करना होगा। उनमें से अधिकतर शायद sudo easy_install <name> के साथ स्थापित किए जा सकते हैं, लेकिन कुछ पीजीजीटीके + जैसे आसान नहीं हैं। आपको प्रत्येक ऐसी पुस्तकालय के लिए कस्टम स्थापना प्रक्रियाओं का पालन करना होगा।

+0

डिफॉल्ट संकलन विकल्प केवल/usr/local/bin (जिसे वह python26 का नाम बदल सकता है) में जोड़ देगा, जबकि/usr/bin symlink python2.5 पर इंगित करते हुए? – unmounted

+0

शैल स्क्रिप्ट के लिए #!/Usr/bin/python का उपयोग #!/Usr/bin/env python के बजाय करना आम है। क्योंकि यदि यह है, तो/usr/bin में लिंक को प्रतिस्थापित किया जाना चाहिए। –

+0

असल में, सही तरीका (यदि आप एक विशिष्ट संस्करण को लक्षित कर रहे हैं) #!/Usr/bin/env python2.6 –

1

क्या कोई आवश्यकता है?

सामान्य रूप से उबंटू आरसी रिलीज पैकेज नहीं करता है। 2.6 जौन्टी जैकलोप तक उबंटू में उपलब्ध नहीं होगा।

हालांकि, अगर आप जोर देते हैं कि आपको इसे इंस्टॉल करने की आवश्यकता है, तो आपको पैकेज प्रबंधक के बिना ऐसा करना होगा।

पैकेज डाउनलोड करें, और एक निर्देशिका

निम्न कमांड को चलाने के लिए इसे अनज़िप (समाप्त करने के लिए प्रत्येक के लिए इंतज़ार कर के रूप में आप ऐसा करते हैं)

./configure 
make 
sudo make install 

वहाँ, आप इसे स्थापित किया है।

यह यह पहली पैक किया जा करने के लिए प्रतीक्षा करने के लिए, espescially के रूप में अजगर ubuntu internals का एक बहुत में प्रयोग किया जाता है बेहतर है, इससे आपका सिस्टम बुरी तरह

1

यह अजगर का डिफ़ॉल्ट संस्करण को बदलने के लिए बुद्धिमान नहीं होगा टूट सकती है, यानी जब आप एक खोल में "पायथन" टाइप करते हैं तो आपको क्या मिलता है। हालांकि, आपके पास पाइथन के कई संस्करण स्थापित हो सकते हैं। चाल यह सुनिश्चित करने के लिए है कि पथ पर "पायथन" नामक प्रोग्राम सिस्टम प्रदान किया गया संस्करण है। यदि आप पाइथन 2.6 के अपने इंस्टॉलेशन को चलाने के लिए चाहते हैं तो आप इसे शुरू करने के लिए एक खोल में python2.6 टाइप करेंगे।

पैकेज डाउनलोड करें और इसे अनज़िप, तो चलाएँ:

./configure 
make 
sudo make install 
ls -l /usr/local/bin 

आप एक अजगर और एक python2.6 फ़ाइल, दोनों दिन आप स्थापित कर भाग गया पर बनाया देखना चाहिए; पायथन फ़ाइल हटाएं।फिर python लॉन्च किया गया है मानक सिस्टम पायथन संस्करण /usr/bin से चलाया जाएगा, और जब python2.6 चलाया जाता है तो आपको अपना चमकदार नया पायथन 2.6rc2 मिलता है। जब यह एक इंटरैक्टिव दुभाषिया शुरू होता है तो पाइथन संस्करण प्रदर्शित करता है।

6

मैं एक ही मुद्दा है, और जाहिरा तौर पर पूर्व-निर्मित बाइनरी यहां पाया जा सकता:

# Python 2.6 
deb http://ppa.launchpad.net/doko/ubuntu intrepid main 
deb-src http://ppa.launchpad.net/doko/ubuntu intrepid main 
+1

इन लाइनों को मेरी /etc/apt/sources.list में जोड़ा गया और '' sudo apt-get update && sudo apt-get install python2.6' 'जारी किया जो निम्न को वापस कर दिया: '' निम्नलिखित संकुलों में अनमेट निर्भरताएं हैं: python2 .6: निर्भर करता है: libsqlite3-0 (> = 3.5.9) लेकिन 3.4.2-2 स्थापित होना है '। आगे जाने के बिना, ऐसा लगता है कि यह एक बहुत लंबी प्रक्रिया होगी जो अन्य पैकेजों और निर्भरताओं को तोड़ सकती है। कम से कम उबंटू 8.04 पर। – Flowpoke

संबंधित मुद्दे