अजगर 3.3 स्थापित करने के बाद मैं अजगर 2.7 कैसे निकाल सकता हूं?


20

मैंने सफलतापूर्वक Ubuntu 12.10 पर अजगर 3.3 स्थापित किया है। चूँकि मुझे अजगर के कई संस्करणों की आवश्यकता नहीं है, मैं मौजूदा अजगर 2.7 को हटाना चाहता हूँ। जब मैं उस का उपयोग करने की कोशिश करता हूं

sudo apt-get remove python2.7

उबंटू ने मुझे चेतावनी दी कि सिस्टम पर निर्भर घटकों के टन हैं जो भी हटा दिए जाएंगे। यह वाकई डरावना लगता है।

तो, सिस्टम निर्भर घटकों को हटाने के बिना अजगर 2.7 को हटाने का एक तरीका है, या क्या मैं उन आश्रितों को अजगर 3.3 का उपयोग करने के लिए निर्देशित कर सकता हूं?


2
मेरा सुझाव यह नहीं होगा। पायथन संस्करण बिल्कुल संगत नहीं है, इसलिए पुरानी स्क्रिप्ट में समस्याएँ हो सकती हैं यदि आपके पास सही संस्करण नहीं होगा।
जुक

आप सही हैं, python3.3 ने घोषित किया है कि यह अजगर 2.7 के साथ असंगत है। इसलिए, मैं इसे बेहतर रखना चाहता हूं। सलाह के लिए धन्यवाद!
फीनिक्स बाई

जवाबों:


23

आप नहीं कर सकते।

से उबंटू wiki / पायथन :

दीर्घकालीन योजनाएं (उदाहरण 14.04)

Python 2 को ब्रह्मांड में ले जाएँ, Python को मुख्य रूप से सभी Python अनुप्रयोगों को पोर्ट करें। 3. हम Python 2.7 से पूरी तरह से छुटकारा नहीं पाएंगे, लेकिन चूंकि Python 2.8 भी कभी नहीं होगा, और Python 2.7 लगभग 4 साल का होगा। 14.04 एलटीएस रिलीज, यह ब्रह्मांड के लिए पायथन 2 को फिर से शुरू करने का समय है।

इसका मतलब यह है कि बहुत सारे आधार पैकेजों की 2.7 पर कड़ी निर्भरता है और अभी भी बहुत समय लगेगा जब वस्तुओं को माइग्रेट किया जाएगा। ध्यान दें कि पायथन 3 में कई असंगत परिवर्तन हैं - यह एक नियमित पैकेज अपग्रेड नहीं है।

यदि आप वास्तव में पायथन 2.7 से छुटकारा पाना चाहते हैं, तो आपको 14.04 रिलीज़ का इंतजार करना होगा, लेकिन इसकी कोई गारंटी नहीं है।


3
अब यह 16.04 है।
मूरू


यह 19.04 फू #! और अभी है
Genarito

5

आप नहीं कर सकते, और आप वास्तव में नहीं करना चाहते हैं।

अजगर 2.7 और 3.0 के बीच काफी बदल गया, और पिछड़े संगतता को तोड़ दिया। पाइथन स्क्रिप्ट जो 2.7 के लिए लिखी गई थी, जो सिस्टम के बुनियादी ढांचे की एक बड़ी मात्रा का समर्थन करने के लिए उपयोग की जाती है, जरूरी नहीं कि पायथन 3.x के साथ ठीक से काम करे। उन लिपियों को नए संस्करण के साथ काम करने के लिए अद्यतन करने की आवश्यकता है, और जब तक ऐसा नहीं होता है, आपको पायथन 2.7 को चारों ओर रखने की आवश्यकता होगी।

यही कारण है कि आप पुराने पायथन पर निर्भरता की इतनी बड़ी संख्या को नोटिस करते हैं - सिस्टम इस पर निर्भर करता है। इसके अलावा, पायथन के दोनों संस्करणों को एक ही सिस्टम पर स्थापित करने में कोई बुराई नहीं है। और आप भविष्य में उन अनुप्रयोगों के पार आ सकते हैं जो अभी भी पायथन 2.7 का उपयोग करते हैं, इसलिए इसे आसपास रखना एक अच्छा विचार है।


3

2019 में यहां आया क्योंकि मैं डिफ़ॉल्ट रूप से पायथन 3 में विकसित हुआ और ओपी के रूप में एक ही निष्कर्ष पर आया कि देखने के बाद क्या होगा जिसे चलाने के बाद हटा दिया जाएगा apt purge python

चूँकि मैं वास्तव में चाहता था कि सिर्फ पायथन 3 को बुलाऊँ python , मैं भागा

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3 /usr/bin/python

इस तरह, अगर Python2.7 की अभी भी ज़रूरत है, तो इसे स्पष्ट रूप से कहा जा सकता है python2.7जबकि केवल pythonप्रतीकात्मक लिंक के कारण कॉलिंग Python3 को डिफ़ॉल्ट रूप से दिखाई देगी।

मेरे पास किसी भी स्तर की स्क्रिप्ट नहीं है जो python2.7 के साथ कॉल करती है python इसलिए यह परिवर्तन विघटनकारी नहीं होगा - जबकि अन्य प्रणालियों को उनके स्क्रिप्ट को तदनुसार समायोजित करने की आवश्यकता होगी यदि उन्होंने किया।

एक वितरण के लिए मुख्य अवरोध python2 से python3 पर अजगर कमांड को स्विच करने से वितरण के भीतर टूटना नहीं है, बल्कि इसके बजाय sysadmins और अन्य उपयोगकर्ताओं द्वारा विकसित निजी तृतीय पक्ष लिपियों का टूटना है।

- यूनिक्स-जैसे सिस्टम पर "अजगर" कमांड

यह जवाब ओपी के लिए एक सीधा जवाब नहीं है, लेकिन जैसा कि किसी के पास एक ही सवाल था, यह कार्यक्षमता है जिसे मैं देख रहा था जब मैं 2.7 को हटाने की सोच रहा था। हटाने के बजाय, केवल प्राथमिकता दें कि कौन सा उपयोग करना है python


1
यह मुझे एक बुरे विचार के रूप में प्रभावित करता है। पायथन 2 के लिए बनाई गई कोई भी पुरानी स्क्रिप्ट /usr/bin/python, कॉल करेगी , जबकि पायथन 3 के लिए बनाई गई लगभग हर स्क्रिप्ट को बदलाव के बारे में पता होगा, और python3वर्तमान समय में कॉल करेगा। दे pythonइंगित python2.7कम चीजों को तोड़ने की संभावना है।
विदरालो

मैं कहूंगा कि यह पर्यावरण पर निर्भर करता है, जैसे मैंने कहा कि मुझे ऐसी स्क्रिप्ट नहीं बनानी है, जिन्हें python2 की आवश्यकता हो और 3 में काम करें - जबकि अगर मैंने अपने स्टेशनों में से किसी एक पर इस तरह से बदलाव किया है तो स्वचालित स्क्रिप्ट चलाने में यह बहुत ही विघटनकारी होगा। ।
saniboy

क्या कोई विशिष्ट सिस्टम प्रक्रिया है जो आप कॉल / usr / bin / python को सूचीबद्ध कर पाएंगे? नई जानकारी के साथ प्रस्तुत करने पर मैं हमेशा अपने दिमाग को बदलने के लिए तैयार हूं
saniboy

मुझे 18.04 में काफी कुछ मिला। grep -r "/usr/bin/python" /usr/bin/आपको एक संक्षिप्त अवलोकन देना चाहिए। यह संभवतः आपके सिस्टम को अक्षम नहीं करेगा, लेकिन यह कुछ सामान को काम नहीं कर सकता है। उदाहरण के लिए solaar
विदरालो

1
मैंने जो सिस्टम चेक किया है, उसमें 39 है जो python3 या python2 का स्पष्ट संदर्भ नहीं देता है। उन सभी शायद python2 हैं। यह निश्चित रूप से इस बात पर निर्भर करता है कि आपने क्या स्थापित किया है, लेकिन मुझे ऐसा करने का कोई बड़ा कारण नहीं
दिखता
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.