द python
प्रोग्राम कमांड पायथन 2 को निष्पादित करता है । पायथन 3 का उपयोग करके निष्पादित किया जा सकता है python3
कमान। पायथन 3 का उपयोग करके कैसे निष्पादित किया जा सकता है python
कमान?
आप एक सिस्टम-वाइड पैकेज स्थापित कर सकते हैं:
$ sudo apt install python-is-python3
चेतावनी देखें:पायथन-है-पायथन 3 पैकेज उबंटू 20.04 में - यह क्या है और यह वास्तव में क्या करता है?
एक सरल सुरक्षित तरीका एक उपनाम का उपयोग करना होगा । इस जगह में ~/.bashrc
या ~/.bash_aliases
फ़ाइल:
alias python=python3
फ़ाइल में उपरोक्त जोड़ने के बाद, चलाएँ source ~/.bashrc
या source ~/.bash_aliases
.
उदाहरण के लिए:
$ python --versionPython 2.7.6$ python3 --versionPython 3.4.3$ alias python=python3$ python --versionPython 3.4.3
उपनाम का उपयोग करने के लिए command
बिल्ट-इन कमांड:
$ command python --versionPython 2.7.6
उपनाम को दरकिनार करने का दूसरा तरीका उपयोग करना है \
आदेश से पहले ।
$ \python --version Python 2.7.6
वर्तमान शेल में उपनाम को अक्षम करने के लिए unalias
बिल्ट-इन कमांड:
$ unalias python$ python --versionPython 2.7.6
पर Ubuntu 20.04+ बस स्थापित करें python-is-python3
पैकेज:
sudo apt install python-is-python3
उसके ऊपर, आप पायथन 2 को भविष्य में किसी चीज़ की निर्भरता के रूप में स्थापित होने से रोक सकते हैं apt-mark hold
:
sudo apt-mark hold python2 python2-minimal python2.7 python2.7-minimal libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
[जून 2016] संक्रमण के बारे में जानकारी के लिए अनुशंसित स्थान आधिकारिक है Ubuntu अजगर पृष्ठ।
से Ubuntu विकी:
उबंटू और डेबियन दोनों के लिए, हमारे पास है चल रहे हैं परियोजना लक्ष्य पायथन 3 को डिफ़ॉल्ट बनाने के लिए, डिस्ट्रोस में पसंदीदा पायथन संस्करण ।
यह क्या है नहीं करता है मतलब:
/usr/bin/python
पायथन 3 को इंगित करेगा । नहीं, ऐसा होने वाला नहीं है (जब तक पीईपी 394 अन्यथा अधिवक्ताओं, जो निकट भविष्य के लिए संदिग्ध है) ।/usr/bin/python
और/usr/bin/python2
पायथन 2.7 को इंगित करेगा और/usr/bin/python3
नवीनतम समर्थित पायथन 3 संस्करण को इंगित करेगा ।पायथन 2 को संग्रह से हटा दिया जाएगा । नहीं, ऐसा होने वाला नहीं है. हम उम्मीद करते हैं कि पायथन 2.7 काफी लंबे समय तक उबंटू में समर्थित और उपलब्ध रहेगा, यह देखते हुए पीईपी 373 2020 तक अपस्ट्रीम बग फिक्स रखरखाव समर्थन का वादा करता है ।
अन्य पैकेज निर्भरताओं के कारण प्रतीकात्मक लिंक को बदलने की अनुशंसा नहीं की जाती है, लेकिन उनके पास "पायथन 3 को डिस्ट्रोस में डिफ़ॉल्ट, पसंदीदा पायथन संस्करण बनाने के लिए चल रहे प्रोजेक्ट लक्ष्य हैं" ।
सीएलआई उपयोग के लिए, जैसे @ राडू Radeanu, मैं उपयोगकर्ता में एक उपनाम डालने की सलाह दूंगा ~/.bashrc
, .bash_aliases
फ़ाइल (विभिन्न फ़ाइलें, सहित ~/.bash_profile
, कम से कम एक बार लोड होते हैं, ज्यादातर संगठनात्मक उद्देश्यों के लिए होते हैं, लेकिन मंच द्वारा भिन्न हो सकते हैं) । अजगर आभासी वातावरण साथ ही अच्छा काम करें ।
उपनाम उदाहरण:
alias python=python3
या
alias python='/usr/bin/python3'
लिपियों को अभी भी कुछ इस तरह का उपयोग करना चाहिए #!/usr/bin/env python3
क्रॉस-संगतता के लिए ।
का उपयोग करना env
आभासी वातावरण के साथ मिश्रित उपयोग के लिए अच्छा है ।
नोट (@वजेंड्रिया के लिए धन्यवाद): उपनाम बैश रनटाइम का हिस्सा हैं, उपयोगकर्ता वातावरण नहीं । इसलिए, वे शेबंग के लिए उपलब्ध नहीं हैं (#!
). यदि आप उपनाम पायथन=पायथन 3 पसंद करते हैं, तो कुछ program.py
एक शेबंग के बिना इस तरह से अलियासेड दुभाषिया को लागू करके निष्पादित किया जा सकता है python program.py
. अलियासिंग पायथन 3 के कई संस्करणों जैसे 3.4 और 3.6 के साथ सिस्टम के लिए भी उपयोगी हो सकता है ।
अद्यतन: यह गलत तरीका है, मैंने सीखा है, क्योंकि पायथन 2 और पायथन 3 विनिमेय नहीं हैं ।
आप कमांड लाइन टूल आज़मा सकते हैं update-alternatives
.
$ sudo update-alternatives --config python
यदि आपको त्रुटि और उद्धरण मिलता है;पायथन और उद्धरण के लिए कोई विकल्प नहीं; तो निम्न आदेश के साथ स्वयं एक विकल्प सेट करें:
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
पथ बदलें /usr/bin/python3
तदनुसार अपने वांछित पायथन संस्करण के लिए ।
उबंटू, और उस मामले के लिए बाकी लिनक्स डिस्ट्रोस, अभी भी काफी हद तक कई अनुप्रयोगों और आदेशों के लिए पायथन 2.7 पर निर्भर हैं । यदि आप "पायथन" के डिफ़ॉल्ट संदर्भ को पायथन 3 में बदलते हैं । एक्स, फिर कई पायथन फ़ंक्शन जोर त्रुटियों को फेंकना शुरू कर देंगे ।
उदाहरण के लिए, उबंटू पर, एक के लिए 'पाइप' अब सही ढंग से नहीं चलेगा जब तक कि आपने सीधे फ़ाइल को संपादित नहीं किया और शेबंग को '#!/usr/bin/env python2.7'. पर RHEL (Red Hat Enterprise Linux) जायके इस तरह के रूप में लाल टोपी, फेडोरा और CentOS में, 'यम' कमांड भी है पर निर्भर अजगर 2.7.
मेरा कहना यह है कि आप कोड की एक महत्वपूर्ण मात्रा को जोर देने वाली त्रुटियों को फेंकना शुरू कर देंगे ताकि आप पायथन 3 को संदर्भित करने के लिए टर्मिनल में 'पायथन' टाइप कर सकें । x.
टर्मिनल और शेबंग '#में' पायथन 3 'कमांड का उपयोग करने के साथ आप बहुत बेहतर हैं!/usr/bin/env python3' में अपने अजगर 3.एक्स फाइलें।
करते हैं
cd ~gedit .bash_aliases
फिर या तो लिखें
alias python=python3
या
alias python='/usr/bin/python3'
फ़ाइल को सहेजें, टर्मिनल बंद करें और इसे फिर से खोलें ।
लिंक
मैं खोजने के लिए यह बहुत उपयोगी है करने के लिए, बस हटाने के लिए /usr/bin/अजगर और /usr/bin/pip. यह सभी कार्यक्रमों को "पायथन 2" और "पायथन 3" कमांड पर भरोसा करने के लिए मजबूर करता है ।
हालांकि कुछ वैकल्पिक और पुराने पैकेज इस पर निर्भर करते हैं #!/usr/bin/python
काम करने के लिए, मैं अजीब और कभी-कभी कठिन-से-डीबग गलतियों को जारी रखने के बजाय उन कार्यक्रमों में पैच जमा करूंगा ।
cat > /usr/local/bin/py << 'EOF'#!/bin/dashpython3 "$@"EOF
(बशर्ते आपके पास /यूएसआर/स्थानीय/बिन को लिखने की अनुमति हो)इसी तरह
cat > /usr/local/bin/pyi << 'EOF'#!/bin/dashpython3 -i "$@"EOF
फिर आप केवल पीवाई टाइप करें (और #में पीवाई का उपयोग करें! लाइनों) अपने चुने हुए अजगर के लिए ।
बस एक चेतावनी: पायथन 3 को 2.7 के बजाय इंगित करने के लिए /यूएसआर/बिन/पायथन सिमलिंक को बदलने का प्रयास न करें । उबंटू रेपो में उपलब्ध कई कार्यक्रमों को पायथन 2 के अनुकूल होने के लिए /यूएसआर/बिन/पायथन की आवश्यकता होती है । x.
एक अन्य नोट पर, कोई भी यहां आ रहा है क्योंकि वे पायथन 3 को अपना डिफ़ॉल्ट बनाने के बारे में जानने की कोशिश कर रहे हैं, इसके बजाय वर्चुअल वातावरण (जैसे वर्चुअलएन्व) या कंटेनर (जैसे एलएक्ससी या डॉकर) पर शोध करने में उपयोग कर सकते हैं ।
@wjandrea, हाँ, यहां तक कि एक आभासी वातावरण में, अजगर
रखा जाना चाहिए के रूप में जिसका अर्थ है python2
. मेरा मतलब था कि सिस्टम के पायथन के आसपास काम करने की कोशिश करने के बजाय एक एप्लिकेशन विशिष्ट पायथन संस्करण रखने के तरीके के रूप में मेरी टिप्पणी ।
आह, अब मुझे अपग्रेड के साथ आपका क्या मतलब है । … वास्तव में उबंटू डेवलपर्स उस पर काम कर रहे हैं: Python/3 - Ubuntu Wiki " यह उबंटू 14.04 एलटीएस के लिए डेस्कटॉप सीडी छवियों पर केवल पायथन 3 के लिए एक रिलीज लक्ष्य है । "
शीर्ष पर सोलसोर्स की चेतावनी के संदर्भ में देखें [पीईपी 394] (PEP 394 – The “python” Command on Unix-Like Systems | peps.python.org) जो पायथन निष्पादन योग्य को सह-अस्तित्व के लिए नामकरण सम्मेलनों को मानकीकृत करता है और जिस पर पायथन प्रोग्रामर और पैकेज अनुरक्षक भरोसा करते हैं (और चाहिए) ।
'सुडो एपीटी पायथन-आईएस-पायथन 3 स्थापित करें` (उबंटू 20.04+के लिए)
@ सोलसोर्स, हाँ मुझे इसकी जानकारी है । इसलिए मैंने पूछा कि क्या कोई “अपग्रेड” विकल्प उपलब्ध है या नहीं ।
मुझे लगता है कि राडू रिलेनु का जवाब पहले से ही इष्टतम समाधान के काफी करीब है । यह केवल एक उपयोगकर्ता पर लागू होता है, और केवल पायथन कमांड टाइप करने वाले पायथन को सीधे चलाने के लिए प्रभावी होता है, #के साथ कार्यक्रमों को प्रभावित नहीं करता है!/usr/bin/अजगर मामला.
सोलसोर्स यही मैं खोज रहा हूं! धन्यवाद!
केविन मैंने अभी वर्चुअलएन्व का उपयोग करने की कोशिश की, लेकिन जैसे ही मैंने टर्मिनल से जीएडिट खोला, मुझे त्रुटियों का एक गुच्छा मिला, क्योंकि इसके प्लगइन्स को पायथन 2 की आवश्यकता होती है । इसी तरह की समस्याएं किसी भी अन्य सॉफ़्टवेयर के लिए हो सकती हैं जो कमांड पायथन
पायथन 2 पर निर्भर करता है ।