Ubuntu में python3 के लिए डिफ़ॉल्ट अजगर संस्करण सेट करने में असमर्थ


147

मैं करने के लिए सेट डिफ़ॉल्ट अजगर संस्करण के लिए कोशिश कर रहा था python3में Ubuntu 16.04। डिफ़ॉल्ट रूप से यह python2(2.7) है। मैंने निम्न चरणों का पालन किया:

update-alternatives --remove python /usr/bin/python2
update-alternatives --install /usr/bin/python python /usr/bin/python3

लेकिन मुझे दूसरे कथन के लिए निम्न त्रुटि मिल रही है,

rejeesh@rejeesh-Vostro-1015:~$ update-alternatives --install /usr/bin/python python /usr/bin/python3
update-alternatives: --install needs <link> <name> <path> <priority>

Use 'update-alternatives --help' for program usage information.   

मैं उबंटू में नया हूँ और मुझे नहीं पता कि मैं क्या गलत कर रहा हूँ।


3
जैसा कि चेतावनी में कहा गया है, आप प्राथमिकता से चूक रहे हैं।
लालची

6
ध्यान रखें कि पायथन 2.7 को न हटाएं क्योंकि यह आपके लिए ओएस की कई सुविधाओं को अपंग कर देगा (अनुभव से :()
जैक्स डी होगे

मैंने आपकी प्राथमिकता त्रुटि के संबंध में अपने उत्तर का संपादन किया।
Steampunkery

1
चेतावनी का एक शब्द: यह मेरे pythonलिए पायथन में बदलने के लिए एक बुरे विचार की तरह लगता है 3. पायथन 2 में लिखी गई स्क्रिप्ट को लागू करने का डिफ़ॉल्ट तरीका है python my-script-p2.py, जबकि यह है python3 my-script-p3.py। मुझे उम्मीद है कि कई सिस्टम स्क्रिप्ट इस पर भरोसा करेंगे।
जैन ग्रथ

1
उन लोगों के लिए जो इस विषय में रुचि रखते हैं, मैं आभासी वातावरण पर ध्यान देने की सलाह दूंगा : docs.python.org/3/tutorial/venv.html मेरा Ubuntu 18 LTS अभी भी पायथन 2.7 का उपयोग करता है और, उदाहरण के लिए, मैं इसका उपयोग करता हूं। Python 3.X का उपयोग करने के लिए आभासी वातावरण और मेरे Django प्रोजेक्ट्स में अप-टू-डेट रहें।
विक्टर ब्योर्न

जवाबों:


136

अपनी .bashrc फ़ाइल खोलें nano ~/.bashrcalias python=python3फ़ाइल के शीर्ष पर एक नई लाइन पर टाइप करें फिर फ़ाइल को ctrl + o के साथ सहेजें और फ़ाइल को ctrl + x के साथ बंद करें। फिर, वापस अपने कमांड लाइन प्रकार पर source ~/.bashrc। अब आपका उपनाम स्थायी होना चाहिए।

संपादित करें:

अद्यतन विकल्पों के लिए, प्राथमिकता पूर्णांक है। प्राथमिकता का प्रतिनिधित्व करता है कि कौन सा कार्यक्रम पहले इस्तेमाल किया जाना चाहिए। यह लेख यह सब बहुत अच्छी तरह से गाया जाता है।


61
यह गलत उत्तर है। अपने bashrc का संपादन अपडेट-विकल्प के समान नहीं करता है। उदाहरण के लिए, स्क्रिप्ट जो शुरू होती #!/usr/bin/env pythonहैं, वे bashrc में संस्करण का उपयोग नहीं करेंगी। कृपया @ परधू के उत्तर का उपयोग करें।
stonewareslord

मैंने यह उत्तर बहुत पहले लिखा था, और मुझे पता है कि अद्यतन विकल्प बदलते हुए बैशकेक के समान नहीं है। यदि आप चाहें तो मैं उत्तर को संपादित कर सकता हूं।
स्टीमपंकरी

1
यह इस सवाल के साथ उपयोगकर्ताओं के लिए एक चेतावनी के रूप में अधिक है कि उपनाम बदलकर एक ही काम नहीं करता है। यदि आप संपादित करना चाहते हैं तो आपके ऊपर।
stonewareslord

यह एकमात्र उत्तर है जिसने मेरी मदद की। मैंने करने की कोशिश की sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5.2But I got: update-alternatives: --install needs <link> <name> <path> <priority> Use 'update-alternatives --help' for program usage information.
अलेक्सांको

1
मैंने ऐसा किया और इसने चीजों को तोड़ दिया, जैसे कि वर्चुअन। यह जवाब और अधिक समस्याएं पैदा कर रहा है
कुज़ेको

296

उल्लिखित दूसरी पंक्ति को बदला जा सकता है

update-alternatives --install /usr/bin/python python /usr/bin/python3 10

यह पथ के लिए 10 की प्राथमिकता देता है python3। संपादन .bashrcफ़ाइल का नुकसान यह है कि यह कमांड का उपयोग करते समय काम नहीं करेगा sudo

अद्यतन: कृपया sudoइस तरह कमांड चलाते समय उपयोग करें:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10


3
अच्छा और आसान तरीका है।
प्रकाश जी

7
अच्छा और बात का अधिकार। "<प्राथमिकता>" त्रुटि संदेश में पहले से ही यह सुझाव दिया है। BTW, "sudo" आमतौर पर इस स्थापित कमांड को चलाने के लिए आवश्यक है।
यवु ०

4
जैसे यवु ने कहा, मुझे "sudo अपडेट-अल्टरनेटिव्स - इंस्टॉलेशन / usr / bin / python python / usr / bin / python3 10" चलाना था
रॉय

3
यह सुनिश्चित करने के लिए सही तरीका है, लेकिन यह ध्यान देने योग्य है कि सिस्टमवाइड डिफ़ॉल्ट को बदलने से कुछ चीजों के टूटने की संभावना है। उदाहरण के लिए, मुझे टर्मिनेटर के लिए एक फिक्स पर जाना और लागू करना था , जो केवल python2 के साथ काम करता है।
डेल एंडरसन

1
पूरी तरह से काम नहीं करता है - इस कमांड के pythonचलने के बाद python3, लेकिन फिर python-configभी चलता है python2-configऔर सामान्य टूटना शुरू हो जाता है
क्रिस डोड

36

पाइथन 3.6.8 को उबंटू में डिफ़ॉल्ट 18.04 के रूप में पाइथन 3.7 में बदलने के लिए।

अजगर 3.7 स्थापित करें

पायथन 3.7 को स्थापित करने और इसे डिफ़ॉल्ट दुभाषिया के रूप में कॉन्फ़िगर करने के लिए चरण।

  1. Apt-get का उपयोग करके python3.7 पैकेज स्थापित करें

    sudo apt-get install python3.7

  2. Python3.6 और Python 3.7 को जोड़ें update-alternatives

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
  1. पायथन 3 को इंगित करें पायथन 3.7 को इंगित करें

    sudo update-alternatives --config python3 पायथन 3.7 के लिए 2 दर्ज करें

  2. अजगर के संस्करण का परीक्षण करें

python3 --v
Python 3.7.1 

3
आप एक चेतावनी शामिल करना चाह सकते हैं कि यह पैकेज्ड सॉफ्टवेयर को तोड़ सकता है। पायथन 3.6 वितरित डिफॉल्ट है और कोई भी बंडल किए गए सॉफ़्टवेयर पैकेज भी इस संस्करण को ग्रहण करेंगे।
टिम

इससे मुझे मदद मिली। धन्यवाद।
जेफ्री कोप्स

क्या मैं अजगर 3 के बजाय 3.7 संस्करण के लिए अजगर को बदल सकता हूं?
वेन होंग

@ तैम, ध्यान रखने का सबसे अच्छा तरीका क्या है?
श्रेया

@ हाँग हाँग, हाँ आप कर सकते हैं। $ Sudo के बजाय अपडेट-अल्टरनेटिव - इंस्टॉलेशन / usr / bin / python3 python3 .... आप बस $ sudo अपडेट-रिप्लेसेन्टिव-इंस्टॉलेशन - usr / bin / python python ..... और उसके बाद और sudo अपडेट की जगह लेते हैं। -संबंधी --config python।
आर्थर जेनिग जूल

23

Python3 में बदलने के लिए, आप टर्मिनल में निम्न कमांड का उपयोग कर सकते हैं alias python=python3


4
लेकिन यह केवल टर्मिनल में वर्तमान चल रही प्रक्रिया के लिए काम करता है। यदि मैं टर्मिनल को बंद और खोलता हूं तो यह वापस python2 में बदल जाएगा।
रीजेशचंद्रन

2
@RejeeshChandran स्टीमपंकरी उत्तर को देखें
Seraf

13

एक सरल सुरक्षित तरीका एक उपनाम का उपयोग करना होगा। इसे ~ / .bashrc फ़ाइल में रखें: यदि आपके पास gedit संपादक का उपयोग है

gedit ~ / .bashrc

bashrc फ़ाइल में जाने के लिए और फिर bashrc फ़ाइल के शीर्ष पर निम्नलिखित परिवर्तन करें।

उर्फ अजगर = python3

फ़ाइल में उपरोक्त जोड़ने के बाद। नीचे कमांड चलाएं

source ~ / .bash_aliases या स्रोत ~ / .bashrc

उदाहरण:

$ अजगर - फैलाव

Python 2.7.6

$ python3 --version

Python 3.4.3

$ उर्फ ​​अजगर = अजगर 3

$ अजगर - फैलाव

Python 3.4.3


10

अतिरिक्त जोड़े जाने पर, आप पाइप के लिए एक उपनाम भी जोड़ सकते हैं (.bashrc या bash_aliases):

उपनाम पाइप = 'pip3'

आप बहुत से पाते हैं कि python3 की एक साफ स्थापना वास्तव में python3.x की ओर इशारा करती है ताकि आपको आवश्यकता हो:

उर्फ पाइप = 'pip3.6'
उर्फ अजगर = 'अजगर 3.6'


7

सबसे पहले python3 और pip3 स्थापित करें

sudo apt-get install python3 python3-pip

फिर अपने टर्मिनल रन में

alias python=python3

अपनी मशीन में अजगर के संस्करण की जाँच करें।

python --version

7

यदि आपके पास उबंटू फोकल (20.20) है तो आप स्थापित कर सकते हैं python-is-python3:

sudo apt-get install python-is-python3

को /usr/bin/pythonइंगित करने के लिए सिम्लिंक को बदलना है /usr/bin/python3.8


5

जैसा कि यह कहा गया है, update-alternatives --install<लिंक> <नाम> <पथ> और <प्राथमिकता> तर्क की आवश्यकता है।

आपके पास लिंक ( /usr/bin/python), नाम ( python), और पथ ( /usr/bin/python3) है, आप प्राथमिकता को याद कर रहे हैं।

update-alternatives --help कहते हैं:

<प्राथमिकता> एक पूर्णांक है; उच्च संख्या वाले विकल्पों में स्वचालित मोड में उच्च प्राथमिकता होती है।

तो बस 100अंत में एक या कुछ रखो


5

करना

cd ~
gedit .bash_aliases

तो या तो लिखो

alias python=python3

या

alias python='/usr/bin/python3'

फ़ाइल को सहेजें, टर्मिनल को बंद करें और इसे फिर से खोलें।
तुम अब ठीक हो जाओ! संपर्क


5

नए उन्नयन अजगर संस्करण में डिफ़ॉल्ट अजगर को बदलने में मदद करने के लिए बस इन चरणों का पालन करें। मेरे लिए अच्छा काम किया।

  • sudo apt-install python3.7 आप चाहते हैं कि अजगर का नवीनतम संस्करण स्थापित करें
  • cd /usr/bin रूट निर्देशिका दर्ज करें जहां अजगर स्थापित है
  • sudo unlink pythonया sudo unlink python3। वर्तमान डिफ़ॉल्ट अजगर को अनलिंक करें
  • sudo ln -sv /usr/bin/python3.7 python नए डाउनलोड किए गए पायथन संस्करण को लिंक करें
  • python --version नए अजगर संस्करण की जाँच करें और आप जाने के लिए अच्छे हैं

3

एक और गैर-इनवेसिव के लिए, वर्तमान-उपयोगकर्ता केवल दृष्टिकोण:

# First, make $HOME/bin, which will be automatically added to user's PATH
mkdir -p ~/bin
# make link actual python binaries
ln -s $(which python3) python
ln -s $(which pip3) pip

python pip एक नए खोल में तैयार हो जाएगा।



0

Ubuntu 18.04 में सबसे अच्छा तरीका है जो सभी उपयोगकर्ताओं के लिए काम करेगा

sudo vim /etc/bash.bashrc
add lines
alias python=python3
alias pip=pip3

परिवर्तन सहेजें और पुनः आरंभ करें।

फिर से शुरू करने के बाद क्या अजगर 3 के संस्करण के साथ आपके पास अजगर 2.7 के साथ सिस्टम में डिफ़ॉल्ट रूप में लिया जाएगा। यदि आपके पास अजगर 3 के कई संस्करण हैं, तो आप निम्नलिखित को अन्य नाम से कह सकते हैं।

sudo vim /etc/bash.bashrc
add lines
alias python=python3.6
alias pip=pip3.6

0

बस निकालें python-is-python2:

sudo apt purge python-is-python2

और स्थापित करें python-is-python3:

sudo apt install python-is-python3

यह नए python3 में संक्रमण की प्रक्रिया को स्वचालित करेगा। वैकल्पिक रूप से आप बाद में शेष पैकेज से छुटकारा पा सकते हैं:

sudo apt autoremove && sudo apt autoclean

0

पाइथन 3.6.8 को उबंटू 18.04 में पाइथन 2.7 से डिफ़ॉल्ट के रूप में बदलने के लिए आप कमांड लाइन टूल को आजमा सकते हैं update-alternatives

sudo update-alternatives --config python

यदि आपको "अजगर के लिए कोई विकल्प नहीं" त्रुटि मिलती है, तो निम्नलिखित कमांड के साथ स्वयं एक विकल्प सेट करें:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2

/usr/bin/python3तदनुसार अपने इच्छित अजगर संस्करण के लिए पथ बदलें ।

अंतिम तर्क यह निर्दिष्ट करता है कि प्राथमिकता का मतलब है, अगर कोई मैनुअल वैकल्पिक चयन नहीं किया जाता है तो सर्वोच्च प्राथमिकता संख्या के साथ विकल्प सेट किया जाएगा। हमारे मामले में हमने 2 के लिए एक प्राथमिकता निर्धारित की है /usr/bin/python3.6.8और परिणामस्वरूप /usr/bin/python3.6.8अद्यतन-विकल्प कमांड द्वारा स्वचालित रूप से डिफ़ॉल्ट पायथन संस्करण के रूप में सेट किया गया था।

हम कभी भी उपरोक्त सूचीबद्ध अजगर वैकल्पिक संस्करणों के बीच स्विच कर सकते हैं कमांड के नीचे और चयन संख्या दर्ज करते हुए:

update-alternatives --config python

-1

सबसे पहले, सुनिश्चित करें कि Python3 आपके कंप्यूटर पर स्थापित है

अपने टर्मिनल पर जाएं और टाइप करें:

cd ~/ अपने घर निर्देशिका में जाने के लिए

यदि आपने अपना .bash_profileअभी तक सेट नहीं किया है, तो touch .bash_profileअपना .bash_profile बनाने के लिए टाइप करें।

या, open -e .bash_profileफ़ाइल को संपादित करने के लिए टाइप करें।

कॉपी करें और alias python=python3.bash_profile में सहेजें ।

अपने टर्मिनल को बंद करें और फिर से खोलें। तब जांचने के लिए निम्न कमांड टाइप करें कि क्या Python3 अब आपका डिफ़ॉल्ट संस्करण है:

python --version

आपको देखना चाहिए कि अजगर 3. प्रॉक्सी आपका डिफ़ॉल्ट संस्करण है।

चीयर्स!


इस पद्धति को पहले से ही इस प्रश्न के लिए पसंदीदा उत्तर में वर्णित किया गया है। और आपका जवाब कुछ भी योगदान नहीं देता है।
त्रियुल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.