उबंटू प्रणाली पर पायथन को अद्यतन करना


78

मैं अपने लिनक्स बॉक्स पर पायथन बिल्ड को अपडेट करना चाहता हूं, लेकिन एकमात्र तरीका मुझे पता है कि यह कैसे करना है जो वर्तमान संस्करण की स्थापना रद्द कर रहा है और नया स्थापित कर रहा है। मेरा सिस्टम पहले से पुराना है (मैंने कल अपडेट किया)। मैं जानना चाहता था कि क्या कमांड लाइन से किसी विशिष्ट प्रोग्राम को अपडेट करने का कोई तरीका है, जैसे sudo apt-get update <program-name>। मुझे पता है कि यह कमांड मौजूद नहीं है, लेकिन मुझे उम्मीद है कि कुछ समान है।


यदि आपका सिस्टम अप टू डेट है तो आपके सिस्टम (आपके रिपॉजिटरी के अनुसार) पर पायथन है। क्या मै गलत हु?
cYrus

जवाबों:


64

जैसा कि दूसरों ने पहले ही नोट किया है, नंगे sudo apt-get install packageनवीनतम उपलब्ध संस्करण को स्थापित करेंगे, यदि आवश्यक हो तो पुराने को बदल दें।

लेकिन कुछ सॉफ्टवेयर (जिनमें पायथन है) के साथ स्थिति कुछ अलग है। कुछ प्रमुख, बहुत- और असंगत-अलग-अलग संस्करणों को अपने स्वयं के पैकेज मिलते हैं। उदाहरण के लिए, पायथन 2.6 , पायथन 2.7 , पायथन 3.1 सभी उबंटू में अलग-अलग पैकेज में रहते हैं।

विशेष महत्व का तथ्य यह है कि उबंटू नीतियों में से एक अंत उपयोगकर्ता सॉफ्टवेयर लिखने के लिए व्यापक रूप से पायथन का उपयोग करना है। तो वास्तव में, सिस्टम का काफी बड़ा हिस्सा पायथन में लिखा गया है। फिलहाल, पायथन 2.6 पर कोड चलता है - इसलिए यह संस्करण स्थापना पर डिफ़ॉल्ट है; और कोड आसानी से, पायथन 2.7 पर नहीं चलेगा, क्योंकि असंगतताएं मौजूद हैं। सिस्टम को पायथन 2.7 में बदलने के लिए सभी लिपियों को अपडेट करने और पुन: परीक्षण करने के साथ काम करने की आवश्यकता है। यह आसानी से नहीं किया जा सकता है; यही है, आप अपने सिस्टम को पायथन 2.7 में "स्विच" नहीं कर सकते और पुराने संस्करण को हटा सकते हैं।

परंतु। यदि आप अपने सिस्टम के फैंसी गियर्स की परवाह नहीं करते हैं और बस नए पायथन की आवश्यकता है - कोई बाधा नहीं देखें। जाओ और sudo apt-get install python33.x पायथन बहादुरी के लिए कोड; बस अपनी स्क्रिप्ट लॉन्च करना python3और #!/usr/bin/env python3शेबंग लाइन का उपयोग करना याद रखें ।


6
पीछे के कामकाज के बारे में महान विवरण।
efficiencyIsBliss

16
sudo apt-get install python 3.3.3

यह अजगर के लिए है (3.3.3) अलग संस्करण के लिए इसी संस्करण संख्या का उपयोग किया जाना चाहिए।


4
मुझे लगता है कि अजगर और संस्करण के बीच की जगह नहीं होनी चाहिए। sudo apt-get install python3.6मेरे लिए काम किया, लेकिन किसी भी तरह से पायथन 3.5 को प्रभावित नहीं करता है।
जीयूआई जंकी

sudo apt-get install python 3.6.1 > Note, selecting 'libghc-unix-time-dev-0.3.6-1b8cf' for regex '3.6.1' ... अलग-अलग तर्क कई पैकेजों को स्थापित करने के लिए उपयुक्त बताते हैं
क्लैसी हुड

3
मेरे अजगर संस्करण संख्या स्थापित करने के बाद एक ही है? क्या कारण हो सकता है?
रमेश पारीक

मैंने इस पद्धति का उपयोग किया है, लेकिन यह नहीं पाया जा सकता है कि इसे कहाँ स्थापित किया गया था (यानी 3.7 शेल कैसे खोलें)। @RameshPareek यह आपकी समस्या भी रही होगी। doesn't / usr / बिन में लगता है। python is already the newest version (2.7.12-1~16.04). python set to manually installed.कोई विचार?
Bjorks नंबर एक प्रशंसक

10
sudo apt-get install python3.6

जब आप टर्मिनल को खोलते हैं तो यह साइड अजगर के साथ लाइन 3 में अजगर 3 को स्थापित करता है।

python3

2
यह एक और उत्तर को दोहराता है और कोई नई सामग्री नहीं जोड़ता है। कृपया जवाब न दें जब तक कि आपके पास योगदान देने के लिए वास्तव में कुछ नया न हो।
DavidPostill

3
क्षमा करें, मैं सिर्फ नया लिखने के लिए कमांड लिखना चाहता था।
G-Ox7cd

6
अगर मुझे लगता है कि मैं चलाE: Unable to locate package python3.6 E: Couldn't find any package by glob 'python3.6' E: Couldn't find any package by regex 'python3.6'
काजसा

1
sudo add-apt-repository ppa: deadsnakes / ppa -y && sudo apt-get update
Ski_squaw

E: Unable to locate package python3.6
Dims

4

आप एक कमांड के बारे में सोच रहे हैं जैसे sudo apt-get update(जो कि एक वास्तविक कमांड है, लेकिन वह नहीं करता है जो आप इसे चाहते हैं।)

अजगर को उन्नत करने के लिए, और बाकी सब जो आपने स्थापित किया है, बस कमांड करें:

sudo apt-get upgrade

धन्यवाद, लेकिन मुझे पहले से ही अपडेट कमांड के बारे में पता था, यही वजह है कि मैंने इस तथ्य को पोस्ट किया कि मेरा सिस्टम पहले से ही अद्यतित है। मैं एक ऐसी कमांड ढूंढने की उम्मीद कर रहा था, जिसे विशिष्ट ऐप्स पर लक्षित किया जा सके।
दक्षता

उपयुक्त तारीख तक कुछ भी उन्नयन होगा नहीं, तो यह एक फर्क नहीं होता, पी
जर्नीमैन गीक

ओपी विशेष रूप से अजगर को अपडेट करना चाहता है । उन्हें उन सभी पैकेजों को अपडेट करने के लिए कहना जो एक आलसी और बुरी सलाह है।
प्रेज़ेमेक डी

3

हमारी बहन साइट से: https://askubuntu.com/questions/44122/how-to-upgrad-a-single-package-use-apt-get

इनमें से प्रत्येक कमांड-बाय-इंस्टॉलेशन अपडेट करता है, जिसे कई मामलों में ठीक काम करना चाहिए, लेकिन ऐसा नहीं हो सकता है जो आप किसी विशिष्ट मामले में देख रहे हैं।

यदि आप केवल एक विशिष्ट पैकेज को अपग्रेड करना चाहते हैं और केवल अगर यह पहले से ही स्थापित है, तो कमांड का उपयोग करें:

sudo apt-get install --only-upgrade packagename


2

pyenv आपके लिए एक अच्छा विकल्प हो सकता है: https://github.com/yyuu/pyenv


@ Ulidtko के उत्तर के संबंध में , सिस्टम अजगर को पूरी तरह से बदलने का एक संभावित विकल्प आपके इच्छित अजगर संस्करण के साथ एक अलग वातावरण का उपयोग करना हो सकता है। यह एक "आभासी वातावरण" के समान है, लेकिन खुद अजगर के लिए। मैंने इसे पहले पायथॉन 2.6 पर चलने वाली विरासत परियोजनाओं के लिए इस्तेमाल किया है, साथ ही जब अजगर की विरासत संस्करण से अजगर 3 तक उन्नत किया गया।


मैं इस क्षेत्र से परिचित नहीं हूं, लेकिन क्या आप बता सकते हैं कि यह प्रश्न को कैसे हल करता है और समस्या को हल करता है?
बेन एन

1
@ Ulidtko के उत्तर ( superuser.com/a/241903/152143 ) के संबंध में, सिस्टम अजगर को पूरी तरह से बदलने का एक संभावित विकल्प आपके इच्छित अजगर संस्करण के साथ एक अलग वातावरण का उपयोग करना हो सकता है। यह एक "आभासी वातावरण" के समान है, लेकिन खुद अजगर के लिए। मैंने इसे पहले पायथॉन 2.6 पर चलने वाली विरासत परियोजनाओं के लिए इस्तेमाल किया है, साथ ही जब अजगर की विरासत संस्करण से अजगर 3 तक उन्नत किया गया।
nicefinly

1
apt-get install python

मेरा मानना ​​है कि यह काम करना चाहिए। आपको स्पष्ट रूप से अपनी रिपॉजिटरी में उपयुक्त पैकेज नाम से मिलान करने के लिए th अजगर ’को बदलने की आवश्यकता होगी।


1

जैसा कि हम सभी जानते हैं कि पायथन 3.5 संस्करण के साथ आता है। तो पायथन 2.7 (जो कि Ubuntu 16.04 में डिफ़ॉल्ट रूप से मौजूद है) पायथन 3.5 को अपडेट करना बहुत सरल है।

निम्नलिखित चरणों का पालन करें:

  1. टर्मिनल खोलें।
  2. Sudo कमांड का उपयोग करके रूट यूजर बनें।
  3. पायथन 2.7 से 3.5 को अपडेट करने के लिए नीचे दिए गए कोड का उपयोग करें

    sudo apt-get install python3.5

  4. आपसे आपकी अनुमति मांगी जाएगी, फिर विकल्प Y दें।

  5. प्रक्रिया पूरी होने तक प्रतीक्षा करें।
  6. आदेश का उपयोग करके स्क्रीन को साफ़ करें clear
  7. नीचे दिए गए कमांड द्वारा अजगर संस्करण की जाँच करें।

    अजगर


1
कृपया भविष्य में उचित प्रारूपण का उपयोग करें और "आशा है कि यह आपकी मदद करेगा" जैसे बयानों से दूर रहें। वे सिर्फ शोर कर रहे हैं। प्रश्न का उत्तर देने से, यह मान लिया जाता है कि प्रश्न का उत्तर देने का आपका प्रयास कुछ ऐसा है जो सहायक हो। आपको अपने उत्तर के माध्यम से जाना चाहिए और उन छोटी व्याकरण संबंधी गलतियों को ठीक करना चाहिए जिन्हें मैंने ठीक नहीं किया और प्रक्रिया के स्क्रीनशॉट प्रदान किए। मैंने इस बार आपके लिए प्रारूपण तय किया है, मैं इसे दोबारा नहीं करूंगा, मेरा दृढ़ता से मानना ​​है कि लेखकों को अपने स्वयं के उत्तर और प्रश्नों को ठीक करने के लिए आयोजित किया जाना चाहिए।
रामहाउंड

और यह इतना आसान नहीं है, यह प्रतीकात्मक लिंक को ठीक से अपडेट नहीं करता है, इसलिए आप 3.4 और 3.5 के साथ-साथ समाप्त होते हैं। Python2 आम तौर पर python3 के साथ कंधे से कंधा मिलाकर चलता है, हम Python2 को Python3 में अपग्रेड नहीं करते हैं, हम अपने काम पर जाते हैं।
mckenzm

0

एकल मामले में कि आप LTS संस्करण चला रहे हैं, आपका अजगर मामूली संस्करण से पीछे रह सकता है, 2.7.10 के बजाय 2.7.5 कह सकते हैं।

सिस्टम को अपग्रेड करने के लिए एक संभावना होगी :

  • सेट prompt=normalमें/etc/update-manager/release-upgrades
  • सिस्टम को अपग्रेड करें
    • कमांड लाइन पर, आप sudo do-release-upgradeअपग्रेड मैनेजर को नवीनतम (= गैर-एलटीएस) संस्करण में अपग्रेड करने के लिए अपना काम करने के लिए टाइप कर सकते हैं ।
    • GUI समाधान अद्यतन प्रबंधक का उपयोग करता है

हमेशा अपग्रेड करते समय, रिलीज़ नोट्स पर एक नज़र डालें , क्योंकि अपग्रेड कुछ ही मामलों में आपके सिस्टम को तोड़ सकता है, @ Gino की टिप्पणी देखें


यार, मैंने आपके बदलाव की कोशिश की और इसने मेरे Ubuntu 14.04 सिस्टम को तोड़ दिया ! मूल रूप से, इसने 14.04 से उबंटू 15 तक अपडेट करने की कोशिश की और यह सफलतापूर्वक ऐसा करने में सक्षम नहीं था, मेरे सिस्टम को आधे रास्ते में छोड़ दिया जहां ग्राफिक लॉगिन अब काम नहीं करता था - जैसे मैं ग्राफिक लॉगिन के माध्यम से लॉगिन करूंगा और यह किक करेगा मुझे उसी ग्राफिकल लॉगिन में वापस जाना है। बस पिछले घंटे बिताए + अपने मशीन पर उबंटू 14.04 को पुनर्स्थापित करने के लिए अपने कथित समाधान को ठीक करें ।
गीनो

@ चीन: प्रतिक्रिया के लिए धन्यवाद। क्या आपके पास askubuntu.com/questions/612973/… , askubuntu.com/questions/223501/… और रिलीज़ नोट हैं? "AMD के fglrx ड्राइवर" के साथ एक समस्या है। क्या आप कोई अन्य सहायता चाहेंगे?
सर्व-इंक

मुझे लगता है कि आपका सुझाव, सामान्य सुरक्षा जांच को दरकिनार करने के लिए है, जिससे गैर-एलटीएस संस्करण में अपग्रेड करने की अनुमति मिलती है। आज तक, मुझे नहीं पता कि अपग्रेड क्यों विफल रहा, क्योंकि इसमें कोई डायग्नोसेबल त्रुटि संदेश नहीं दिखा था। इसके बजाय, मैंने एक ऐसी प्रणाली को समाप्त कर दिया जो अब उपयोग करने योग्य नहीं थी। अगर मुझे सही से याद है, तो मैंने कुछ सेटिंग्स के साथ उबंटू इंस्टॉलेशन को फिर से तैयार किया जो कि मेरे अधिकांश सिस्टम को पुनर्स्थापित करने में सक्षम था। और, एक साइड नोट के रूप में, मैं एक पेशेवर प्रोग्रामर हूं, इसलिए मैं आमतौर पर एक लिनक्स सिस्टम के आसपास अपना रास्ता जानता हूं।
गीनो

@ चीन: यह एलटीएस से गैर-एलटीएस पर स्विच करने के लिए मानक प्रक्रिया प्रतीत होती है। यह नई रिलीज के जागरूकता स्तर को बदल देता है। कोई इसे "समर्थित" (नियमित) रिलीज़, "लॉन्ग टर्म ओनली" (LTS) रिलीज़, या यहाँ तक कि "कुछ नहीं" (कोई बड़ा अपग्रेड) नहीं दे सकता है। "'उद्धरण के लिए askubuntu.com/questions/240160/… देखें । यह सिस्टम के अपग्रेड मैनेजर का उपयोग करता है। दुर्भाग्य से, आपके मामले में, (डिफ़ॉल्ट) अपग्रेड काम नहीं किया, जो एक छोटी गाड़ी के ग्राफिक्स ड्राइवर (ऊपर दिए गए लिंक देखें) के कारण हो सकता है।
सर्व-इंक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.