पायथन को कैसे अपडेट करें?


135

मेरे पास २०१२ की शुरुआत से संस्करण २. any स्थापित है। मुझे इस बात पर कोई सहमति नहीं मिल सकती है कि क्या मुझे नवीनतम संस्करण पर डालने से पहले इस संस्करण की पूरी तरह से स्थापना रद्द कर देनी चाहिए।

"सॉफ्ट" पुराने संस्करणों को साझा करना? पुराने संस्करणों को हटाना / मिटा देना? शीर्ष पर स्थापित करना?

मैंने कहीं-कहीं पायथन इंस्टॉलेशन के "सेगमेंटिंग" तरीके का उपयोग करके एक विशेष इंस्टॉल / अपग्रेड प्रक्रिया देखी है, जो विभिन्न संस्करणों को अलग और अलग रखते हुए, लेकिन कार्यात्मक है। निश्चित नहीं है कि क्या यह मानक, वास्तविक तरीका है।

मुझे यह भी आश्चर्य है कि अगर रेवो बहुत अधिक उग्र हो जाता है और पर्यावरण / पीएटीएच चर की तरह अभी भी आवश्यक अवशेषों को पोंछने के साथ मुद्दों का कारण बन सकता है।

(विन 7 x64, 32-बिट पायथन)


1
2.7 अभी भी नवीनतम संस्करण है - वैसे भी 2.x श्रृंखला में। 3.x पीछे-असंगत है। यदि आप वर्तमान 2.7 रिलीज के लिए अपग्रेड करना चाहते हैं, तो मैं बस शीर्ष पर स्थापित करूंगा।
Eevee

जवाबों:


106
UPDATE : 2018-07-06

यह पोस्ट अब लगभग 5 साल पुरानी है! पायथन-2.7 2020 में python.org से आधिकारिक अपडेट प्राप्त करना बंद कर देगा । इसके अलावा, पायथन-3.7 जारी किया गया है । की जाँच करें अजगर-भविष्य कैसे अपने अजगर -2 कोड अजगर -3 के साथ संगत बनाने के लिए पर। कोंडा को अपडेट करने के लिए, अब प्रलेखन उपयोग करने की सलाह देता हैconda update --all आपके प्रत्येक कॉन्डा वातावरण में करता है ताकि सभी पैकेज और उस संस्करण के लिए पायथन निष्पादन योग्य हो। इसके अलावा, चूंकि उन्होंने अपना नाम एनाकोंडा में बदल लिया है, मुझे नहीं पता कि क्या विंडोज रजिस्ट्री कुंजी अभी भी समान हैं।

अपडेट करें : 2017-03-24

2015 के जून के बाद से पायथन (x, y) के लिए कोई अपडेट नहीं किया गया है, इसलिए मुझे लगता है कि यह मान लेना सुरक्षित है कि इसे छोड़ दिया गया है।

अपडेट करें : 2016-11-11

जैसा कि नीचे @cxw टिप्पणी है , ये उत्तर समान बिट-संस्करणों के लिए हैं, और बिट-संस्करण से मेरा मतलब 64-बिट बनाम 32-बिट है। उदाहरण के लिए, इन उत्तरों 64-बिट अजगर-2.7.11, करने के लिए 64-बिट अजगर-2.7.10 से अद्यतन करने के लिए लागू होते हैं यानी : एक ही बिट-संस्करण। हालांकि पायथन के दो अलग-अलग बिट संस्करणों को एक साथ स्थापित करना संभव है, इसके लिए कुछ हैकिंग की आवश्यकता होगी, इसलिए मैं पाठक के लिए उस अभ्यास को बचाऊंगा। यदि आप हैक नहीं करना चाहते हैं, तो मेरा सुझाव है कि यदि बिट-संस्करण स्विच कर रहे हैं, तो पहले दूसरे बिट-संस्करण को हटा दें।

अद्यतन : 2016-05-16
  • विंडोज और रजिस्ट्री को बदलने के विकल्पों को अक्षम करके एक मौजूदा पायथन इंस्टॉलेशन के साथ एनाकोंडा और मिनी कोंडा का उपयोग किया जा सकता है PATH। निष्कर्षण के बाद, के लिए एक सिमलिंक बनाने condaअपने में binया PyPI से conda स्थापित करें। फिर एनाकोंडा / मिनिकोंडा रूट बिन फ़ोल्डर में बुलाया conda-activateजाने वाला एक और सिमलिंक बनाएं activate। अब एनाकोंडा / मिनिकोंडा रूबी आरवीएम की तरह है। बस conda-activate rootएनाकोंडा / मिनिकोंडा को सक्षम करने के लिए उपयोग करें।
  • पोर्टेबल पायथन अब विकसित या रखरखाव नहीं किया जा रहा है।

टी एल; डॉ

  • एनाकोंडा या मिनीकोन्डा का उपयोग करना , फिर conda update --allप्रत्येक कोंडा पर्यावरण को अद्यतन रखने के लिए निष्पादित करें,
  • आधिकारिक पायथन का एक प्रमुख संस्करण ( जैसे 2.7.5), बस पुराने पर स्थापित करें ( उदाहरण के लिए 2.7.4),
  • आधिकारिक पायथन के विभिन्न प्रमुख संस्करण ( उदाहरण के लिए 3.3), प्रमुख के लिए साइड-बाय-साइड, सेट पथ / संघों को प्रमुख ( जैसे 2.7), अन्य को शॉर्टकट ( जैसे BASH $ ln /c/Python33/python.exe python3) को इंगित करने के लिए स्थापित करें ।

उत्तर निर्भर करता है:

  1. यदि ओपी में 2.7.x है और 2.7.x का नया संस्करण स्थापित करना चाहता है, तो

    • यदि आधिकारिक पायथन वेबसाइट से एमएसआई इंस्टॉलर का उपयोग किया जाता है , तो बस पुराने संस्करण पर स्थापित करें , इंस्टॉलर चेतावनी जारी करेगा कि यह पुराने संस्करण को हटा देगा और बदल देगा; "कंट्रोल पैनल" में "इंस्टॉल किए गए प्रोग्राम" को देखने से पहले और बाद में पुष्टि करता है कि पुराने संस्करण को नए संस्करण से बदल दिया गया है; 2.7.x के नए संस्करण पीछे की ओर संगत हैं इसलिए यह पूरी तरह से सुरक्षित है और इसलिए 2.7.x के कई संस्करण IMHO कभी भी आवश्यक नहीं होने चाहिए।
    • यदि स्रोत से निर्माण हो रहा है, तो आपको संभवतः एक ताजा, स्वच्छ निर्देशिका में निर्माण करना चाहिए, और फिर नए निर्माण के लिए अपना रास्ता इंगित करें एक बार जब यह सभी परीक्षण पास कर लेता है और आपको विश्वास है कि यह सफलतापूर्वक बनाया गया है, लेकिन आप पुराने रखने की इच्छा कर सकते हैं स्रोत से निर्माण के कारण कभी-कभी समस्याएँ हो सकती हैं। एसडीके 7.0 के साथ विंडोज 7 पर पायथन एक्स 64 के निर्माण के लिए मेरा गाइड देखें ।
    • यदि पायथन (x, y) जैसे वितरण से स्थापित हो रहा है , तो उनकी वेबसाइट देखें। अजगर (x, y) को छोड़ दिया गया है। मेरा मानना ​​है कि अपडेट्स को उनके पैकेज मैनेजर के साथ पायथन (x, y) के भीतर से हैंडल किया जा सकता है, लेकिन उनकी वेबसाइट पर अपडेट भी शामिल हैं । मुझे कोई विशिष्ट संदर्भ नहीं मिला, इसलिए शायद कोई और इस पर बात कर सके। ActiveState के समान और शायद उत्साहित, पायथन (x, y) स्पष्ट रूप से बताता है कि यह पायथन के अन्य प्रतिष्ठानों के साथ असंगत है:

      यह पायथन (x, y) स्थापित करने से पहले किसी भी अन्य पायथन वितरण की स्थापना रद्द करने की सिफारिश की गई है

    • Enthought चंदवा एक MSI का उपयोग करता है और या तो में स्थापित हो जाएगा Program Files\Enthoughtया home\AppData\Local\Enthought\Canopy\Appसभी उपयोगकर्ताओं के लिए या क्रमशः प्रति उपयोगकर्ता। बिल्ट इन अपडेट टूल का उपयोग करके नए इंस्टॉलेशन अपडेट किए जाते हैं। उनके प्रलेखन देखें ।
    • ActiveState भी MSI का उपयोग करता है इसलिए पुराने के शीर्ष पर नए इंस्टॉलेशन स्थापित किए जा सकते हैं। उनके स्थापना नोट देखें ।

      अन्य पायथन 2.7 प्रतिष्ठान विंडोज पर, ActivePython 2.7 अन्य पायथन 2.7 संस्थापनों के साथ सह-अस्तित्व में नहीं आ सकते हैं (उदाहरण के लिए, python.org से Python 2.7 का निर्माण)। ActivePython 2.7 को स्थापित करने से पहले किसी भी अन्य पायथन 2.7 इंस्टॉलेशन को अनइंस्टॉल करें।

    • ऋषि अनुशंसा करते हैं कि आप इसे एक वर्चुअल मशीन में स्थापित करते हैं, और एक Oracle वर्चुअलबॉक्स छवि फ़ाइल प्रदान करता है जिसका उपयोग इस उद्देश्य के लिए किया जा सकता है। sage -upgradeकमांड जारी करके अपग्रेड आंतरिक रूप से नियंत्रित किए जाते हैं ।
    • एनाकोंडा को condaकमांड का उपयोग करके अपडेट किया जा सकता है :

      conda update --all

      एनाकोंडा / मिनिकोंडा उपयोगकर्ताओं को पायथन -2.6 , 2.7, 3.3, 3.4 और 3.5 सहित कई पायथन संस्करणों का प्रबंधन करने के लिए वातावरण बनाने देता है । वर्तमान में एनाकोंडा / मिनिकोंडा की जड़ें पायथन-2.7 या पायथन-3.5 पर आधारित हैं।

      एनाकोंडा संभवतः किसी भी अन्य पायथन प्रतिष्ठानों को बाधित करेगा। स्थापना MSI इंस्टॉलर का उपयोग करता है। [ अद्यतन : २०१६-०५-१६] एनाकोंडा और मिनिकोंडा अब .exeइंस्टॉलरों का उपयोग करते हैं PATHऔर विंडोज और रजिस्ट्री परिवर्तनों को अक्षम करने के लिए विकल्प प्रदान करते हैं ।

      इसलिए एनाकोंडा / मिनिकोंडा को मौजूदा पायथन इंस्टॉलेशन को बाधित किए बिना स्थापित किया जा सकता है, यह इस बात पर निर्भर करता है कि इसे कैसे इंस्टॉल किया गया था और इंस्टॉलेशन के दौरान जो विकल्प चुने गए थे। यदि .exeइंस्टॉलर का उपयोग किया जाता है और विंडोज PATHऔर रजिस्ट्री को बदलने के विकल्प अक्षम नहीं होते हैं , तो किसी भी पिछले पायथन इंस्टॉलेशन को अक्षम कर दिया जाएगा , लेकिन केवल एनाकोंडा / मिनिकोंडा इंस्टॉलेशन को अनइंस्टॉल करना मूल पायथन इंस्टॉलेशन को पुनर्स्थापित करना चाहिए, सिवाय शायद विंडोज रजिस्ट्री Python\PythonCoreकुंजियों के।

      एनाकोंडा / Miniconda निम्न रजिस्ट्री संपादन स्थापना विकल्पों की परवाह किए बिना बनाता है: HKCU\Software\Python\ContinuumAnalytics\निम्न कुंजी के साथ: Help, InstallPath, Modulesऔर PythonPath- सरकारी अजगर इन कुंजियों भी पंजीकृत करता है, लेकिन के तहत Python\PythonCore। साथ ही अनइंस्टालेशन की जानकारी एनाकोंडा \ मिनिकोंडा के लिए पंजीकृत है। जब तक आप स्थापना के दौरान "विंडोज के साथ रजिस्टर" विकल्प का चयन नहीं करते हैं PythonCore, यह नहीं बनाता है , इसलिए विज़ुअल स्टूडियो के लिए पायथन टूल्स जैसे एकीकरण स्वचालित रूप से एनाकोंडा / मिनिकोंडा नहीं देखते हैं। एनाकोंडा / Miniconda रजिस्टर करने के लिए विकल्प हैं है सक्षम, तो मैं अपने मौजूदा अजगर Windows रजिस्ट्री कुंजी को बदल दिया जाएगा लगता है और स्थापना रद्द करने की शायद उन्हें नहीं हो जाएगी।

    • WinPython अपडेट, मुझे लगता है, WinPython नियंत्रण कक्ष के माध्यम से नियंत्रित किया जा सकता है ।
    • पोर्टेबलपाइथन को अब विकसित नहीं किया जा रहा हैइसकी कोई अद्यतन विधि नहीं थी। संभवत: अद्यतन एक ताजा सूची में अनज़िप किया जा सकता है और उसके बाद App\lib\site-packagesऔर App\Scriptsनई स्थापना में कॉपी किया जा सकता है, लेकिन अगर यह तो काम नहीं किया सभी संकुल फिर से स्थापित करने के लिए आवश्यक हो सकता है। का प्रयोग करें pip listदेखने के लिए संकुल क्या स्थापित किए गए थे और उनके संस्करणों। कुछ पोर्टेबलपाइथन द्वारा स्थापित किए गए थे। easy_install pipयदि इसे स्थापित नहीं किया गया था तो पाइप को स्थापित करने के लिए उपयोग करें ।
  2. यदि ओपी में 2.7.x है और एक अलग संस्करण स्थापित करना चाहता है, जैसे <= 2.6.x या> = 3.xx, तो अलग-अलग संस्करण स्थापित करना साथ-साथ ठीक है। आपको *.pyफ़ाइलों के साथ जुड़ने के लिए अजगर (यदि कोई हो) का कौन सा संस्करण चुनना चाहिए और जिसे आप अपने रास्ते पर चाहते हैं, हालाँकि यदि आप BASH का उपयोग करते हैं तो आपको अलग-अलग रास्तों के साथ गोले स्थापित करने में सक्षम होना चाहिए । AFAIK 2.7.x पीछे की ओर 2.6.x के साथ संगत है, इसलिए IMHO साइड-बाय-इंस्टॉलेशन आवश्यक नहीं है, हालांकि पायथन-3.xx पीछे की ओर संगत नहीं है, इसलिए मेरी सिफारिश होगी कि आप अपने रास्ते पर पायथन-2.7 डालें और करें पायथन -3 अपने निष्पादन योग्य नाम python3 का शॉर्टकट बनाकर एक वैकल्पिक संस्करण हो सकता है (यह लिनक्स पर एक सामान्य सेटअप है)। विंडोज पर आधिकारिक पायथन डिफ़ॉल्ट इंस्टॉल पथ है

    • सी: \ Python33 3.3.x के लिए (नवीनतम 2013-07-29)
    • सी: \ Python32 3.2.x के लिए
    • &सी।
    • 2.7.x के लिए C: \ Python27 (नवीनतम 2013-07-29)
    • C: 2.6.x के लिए \ Python26
    • &सी।
  3. यदि ओपी पायथन को अपडेट नहीं कर रहा है, लेकिन केवल पैकेज को अपडेट कर रहा है, तो वे अपने विकास परियोजनाओं के लिए विशिष्ट पैकेज के विभिन्न संस्करणों को अलग रखने के लिए virtualenv में देखना चाह सकते हैं । पैकेज अपडेट करने के लिए पिप भी एक बेहतरीन टूल है। यदि पैकेज बाइनरी इंस्टॉलर का उपयोग करते हैं तो मैं आमतौर पर नए को स्थापित करने से पहले पुराने पैकेज की स्थापना रद्द करता हूं।

मुझे उम्मीद है कि यह किसी भी भ्रम को साफ करता है।


1
हे मार्क, मेरे पास एक नौसिखिया सवाल है। क्या आप मानते हैं कि 2.7.x से 3.3.x पर अपग्रेड करना वास्तव में महत्वपूर्ण है? मैं अजगर का उपयोग करना शुरू कर रहा हूं और पुराने संस्करण को स्थापित कर रहा हूं, लेकिन जब से मैं शुरू कर रहा हूं मैं नवीनतम संस्करण सीखना चाहता हूं (जब तक कि केवल बहुत मामूली अंतर न हों)। इस पर आपका क्या आह्वान है? आपकी सहायता के लिए धन्यवाद।
मत्तो

7
मैं दोनों का उपयोग करूंगा। आप एमएस विंडोज पर हैं, तो आप अपने रूट फ़ोल्डर में मिल जाएगा C:\Python27और C:\Python33, अगर आप मैक पर कर रहे हैं, तो आप देखेंगे /Library/Frameworks/Python/Versions/2.7.xऔर /Library/Frameworks/Python/Versions/3.3.xऔर यदि आप लिनक्स पर हैं तो आप शायद पहले से ही दोनों को स्थापित किया है। परंपरा पायथन-2.7 का उपयोग करना है और पायथन-3.3 के लिए बाइनरी को सममित करना है python33। इसके अलावा Python2orPython3 और Python 2 बनाम Python 3 देखें । मैं व्यक्तिगत रूप से 3.3 पर स्विच करने के लिए बहुत आलसी हूं।
मार्क मिकोस्की

2
विस्तृत उत्तर के लिए धन्यवाद! 2.7 के साथ, पुराने को स्थापित करने से काम नहीं चला जब एक 32 बिट था और एक 64 बिट था। मैं "प्रोग्राम और फीचर्स" में दो प्रविष्टियों के साथ घाव करता हूं, दोनों C: \ Python27 की ओर इशारा करते हैं। क्या आप अपने उत्तर को जोड़ने के लिए तैयार होंगे कि लोगों को केवल 32 के साथ 32 और 64 को 64 के साथ ओवरराइट करना चाहिए? धन्यवाद!
cxw

1
@ cxw प्रतिक्रिया के लिए धन्यवाद। यदि आप 32 और 64 दोनों को एक साथ रखना चाहते हैं, तो तरीके हैं। संभवतः सबसे आसान उपयोग करना है जिसे कमांड लाइन से 32-बिट संस्करण में "एडमिन" इंस्टॉल किया जाता C:\Python27_x86है msiexec /a "python-2.7.11.msi" TARGETDIR="C:\Python27_x86" /qn /l*v python27_x86_install.log:। एक अन्य विकल्प स्रोत से निर्माण करना है , या बूटस्ट्रैप पायथन की कोशिश करना है
मार्क मिकोफ़्स्की

1
MSI संस्थापक का कहना है कि यह 2.7 फ़ोल्डर को बदल देगा, हालाँकि, यदि आप 2.7 मूल फ़ोल्डर में अन्य
स्क्रैप को

6

सबसे अच्छा उपाय विभिन्न मार्गों में विभिन्न पायथन संस्करणों को स्थापित करना है।

जैसे। 2.7 के लिए C: \ Python27, और 3.3 के लिए C: \ Python33।

अधिक जानकारी के लिए इसे पढ़ें: विंडोज पर कई पायथन संस्करण कैसे चलाएं


यह मेरा इसे करने का तरीका है। मैंने पायथन 2.7.xx और 3.5.xx और आयरनपायथॉन 2.7.xx दोनों 32 और 64 बिट संस्करण चलाए। मैं विकास के लिए ग्रहण का उपयोग करता हूं और डिबगिंग करते समय अजगर पथ का चयन करता हूं। स्क्रिप्ट चलाते समय, मैं बस दुभाषिया संस्करण के लिए पथ सेट करता हूं जिसे मैं उपयोग करना चाहता हूं। 3.5.0 से 3.5.3 तक अपडेट करने पर एक सरल अपडेट विकल्प एक नया इंस्टालेशन छंद प्रदान करता है।
बिल किड

5
  • आधिकारिक पायथन .msi इंस्टॉलर को बदलने के लिए डिज़ाइन किया गया है:

    • किसी भी पिछले माइक्रो रिलीज ( xyz में , z "माइक्रो" है) क्योंकि वे पिछड़े-संगत और द्विआधारी संगत होने की गारंटी देते हैं
    • "स्नैपशॉट" (स्रोत से निर्मित) किसी भी माइक्रो संस्करण के साथ स्थापना
  • स्नैपशॉट इंस्टॉलर को किसी भी स्नैपशॉट को कम माइक्रो संस्करण के साथ बदलने के लिए डिज़ाइन किया गया है।

(देखें 2.x के लिए जिम्मेदार कोड , 3.x के लिए )

किसी भी अन्य संस्करण आवश्यक रूप से संगत नहीं हैं और इस प्रकार मौजूदा एक के साथ स्थापित हैं। यदि आप पुराने संस्करण को अनइंस्टॉल करना चाहते हैं, तो आपको मैन्युअल रूप से करने की आवश्यकता होगी। और इसके लिए आपके पास किसी भी 3-पार्टी मॉड्यूल की स्थापना रद्द करें:

  • यदि आपने bdist_wininstपैकेज (Windows .exes) से कोई मॉड्यूल स्थापित किया है , तो संस्करण को अनइंस्टॉल करने से पहले उन्हें अनइंस्टॉल कर दें, या यदि आपके पास कोई तार्किक तर्क है तो अनइंस्टालर सही ढंग से काम नहीं कर सकता है
  • setuptools/ के साथ स्थापित किए गए मॉड्यूल बस बाद में हटाए जा सकते pipहैंLib\site-packages
  • वे पैकेज जो आपने प्रति उपयोगकर्ता स्थापित किए हैं, यदि कोई हो, में रहते हैं %APPDATA%/Python/PythonXY/site-packagesऔर इसी तरह हटाए जा सकते हैं

1

मैंने हमेशा नए संस्करण को शीर्ष पर स्थापित किया है और कभी भी कोई समस्या नहीं थी। हालांकि यह सुनिश्चित करें कि नए संस्करण को इंगित करने के लिए आपका पथ अपडेट किया गया है।


1
जब आप शीर्ष पर स्थापित होते हैं, तो क्या यह pygame, bs4, lxml, आदि जैसे बाहरी मॉड्यूल को बनाए रखता है जो मैंने डाउनलोड किया था?
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.