2011-05-01 22 views
42

मैंने अपने मैक में पायथन 3.2 स्थापित किया है। मैं /अनुप्रयोग/अजगर 3.2 चलाने के बाद/अपडेट शैल Profile.command, यह जब मैं अजगर टाइप वी टर्मिनल में यह कहा गया है कि कि अजगर 2.6.1, मैं कैसे डिफ़ॉल्ट अजगर संस्करण को बदल सकते हैं भ्रामक है?डिफ़ॉल्ट पायथन संस्करण को कैसे बदला जाए?

+0

संबंधित: http://stackoverflow.com/a/18425592/939986 –

उत्तर

54

यह पिछली संगतता के लिए शायद वांछनीय है।

पायथन 3 पीछे की संगतता को तोड़ता है, और 'पायथन' का आह्वान करने वाले कार्यक्रम शायद python2 की अपेक्षा करते हैं। आपके पास शायद कई प्रोग्राम और स्क्रिप्ट हैं जिन्हें आप यह भी नहीं जानते कि किस प्रकार python = python2 की उम्मीद है, और इसे बदलने से उन कार्यक्रमों और स्क्रिप्ट को तोड़ दिया जाएगा।

उत्तर जो आप शायद देख रहे हैं आपको यह नहीं बदला जाना चाहिए।

हालांकि, आप अपने खोल में एक कस्टम उपनाम बना सकते हैं। जिस तरह से आप ऐसा करने के खोल पर निर्भर करता है, लेकिन शायद आप alias py=python3

कर सकता है आप कैसे अजगर के नवीनतम संस्करण को शुरू करने के लिए के बारे में उलझन है, तो यह कम से कम लिनक्स पर मामला है कि python3 अपने python2 स्थापना बरकरार छोड़ देता है (उपर्युक्त संगतता कारणों के कारण); इस प्रकार आप python3 कमांड के साथ python3 शुरू कर सकते हैं।

+6

यह उपयोगी जानकारी है, लेकिन सवाल था "कैसे मैं डिफ़ॉल्ट अजगर संस्करण को बदल सकते हैं । " क्या हम ऐसा करने की कोशिश करने में लोगों की मदद करने के लिए कुछ जोड़ सकते हैं? – dmeyerson

0

एक त्वरित Google खोज के अनुसार, यह अद्यतन केवल आपके द्वारा खोले गए वर्तमान खोल पर लागू होता है। इसे शायद python3 टाइप करके तय किया जा सकता है, क्योंकि मैक और लिनक्स इस तरह की चीजों के लिए समान हैं। Link to the result of google search.

इसके अलावा, निंजेजेको ने कहा, अधिकांश प्रोग्रामों को अभी तक 3.x तक अपडेट नहीं किया गया है, इसलिए डिफ़ॉल्ट पाइथन 3.x के रूप में अनुप्रयोगों में उपयोग की जाने वाली कई पायथन स्क्रिप्ट को तोड़ देगा।

13

बदलें "डिफ़ॉल्ट" अजगर यह आगे, अपने रास्ते पर प्रणाली अजगर की डाल उदाहरण के लिए द्वारा:

export PATH=/usr/local/bin:$PATH 
+0

मेरी धारणा यह है कि ऐसा करके आप मैक पर कुछ तोड़ सकते हैं।चूंकि ऐसे कई प्रोग्राम और स्क्रिप्ट हैं जो "पायथन" उपनाम का उपयोग करते हैं। यदि अचानक, पीएटीएच में प्राथमिकता परिवर्तन के कारण, वे पाइथन 3 की तरफ इशारा करते हैं और पायथन 2 नहीं - जो कुछ तोड़ सकता है। संभावित रूप से संपूर्ण ओएस ... यह मेरी धारणा है हालांकि परीक्षण नहीं किया गया है। – Aivoric

+1

कोई भी सिस्टम सॉफ़्टवेयर पाइथन प्रदान किए गए सिस्टम के पूर्ण पथ का उपयोग करेगा। –

34

मैक ओएस एक्स पर python.org इंस्टॉलर का उपयोग के रूप में आप जाहिरा तौर पर है, तो आप की जरूरत है python3 के साथ पायथन 3 का आह्वान करें, python नहीं। यह वर्तमान में पायथन 2 संस्करणों के लिए आरक्षित है। विशेष रूप से उस संस्करण को आमंत्रित करने के लिए आप python3.2 का भी उपयोग कर सकते हैं।

$ which python 
/usr/bin/python 
$ which python3 
/Library/Frameworks/Python.framework/Versions/3.2/bin/python3 
$ cd /Library/Frameworks/Python.framework/Versions/3.2/bin/ 
$ ls -l 
total 384 
lrwxr-xr-x 1 root admin  8 Apr 28 15:51 [email protected] -> 2to3-3.2 
-rwxrwxr-x 1 root admin 140 Feb 20 11:14 2to3-3.2* 
lrwxr-xr-x 1 root admin  7 Apr 28 15:51 [email protected] -> idle3.2 
-rwxrwxr-x 1 root admin 138 Feb 20 11:14 idle3.2* 
lrwxr-xr-x 1 root admin  8 Apr 28 15:51 [email protected] -> pydoc3.2 
-rwxrwxr-x 1 root admin 123 Feb 20 11:14 pydoc3.2* 
-rwxrwxr-x 2 root admin 25624 Feb 20 11:14 python3* 
lrwxr-xr-x 1 root admin  12 Apr 28 15:51 [email protected] -> python3.2-32 
lrwxr-xr-x 1 root admin  16 Apr 28 15:51 [email protected] -> python3.2-config 
-rwxrwxr-x 2 root admin 25624 Feb 20 11:14 python3.2* 
-rwxrwxr-x 1 root admin 13964 Feb 20 11:14 python3.2-32* 
lrwxr-xr-x 1 root admin  17 Apr 28 15:51 [email protected] -> python3.2m-config 
-rwxrwxr-x 1 root admin 25784 Feb 20 11:14 python3.2m* 
-rwxrwxr-x 1 root admin 1865 Feb 20 11:14 python3.2m-config* 
lrwxr-xr-x 1 root admin  10 Apr 28 15:51 [email protected] -> pythonw3.2 
lrwxr-xr-x 1 root admin  13 Apr 28 15:51 [email protected] -> pythonw3.2-32 
-rwxrwxr-x 1 root admin 25624 Feb 20 11:14 pythonw3.2* 
-rwxrwxr-x 1 root admin 13964 Feb 20 11:14 pythonw3.2-32* 

आप भी python.org से एक अजगर 2 स्थापित किया है, यह कोई अतिव्यापी फ़ाइल नाम (2to3 को छोड़कर) के साथ एक समान ढांचे बिन निर्देशिका के लिए होगा।

$ open /Applications/Python\ 2.7/Update\ Shell\ Profile.command 
$ sh -l 
$ echo $PATH 
/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin 
$ which python3 
/Library/Frameworks/Python.framework/Versions/3.2/bin/python3 
$ which python 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python 
$ cd /Library/Frameworks/Python.framework/Versions/2.7/bin 
$ ls -l 
total 288 
-rwxrwxr-x 1 root admin 150 Jul 3 2010 2to3* 
lrwxr-x--- 1 root admin  7 Nov 8 23:14 [email protected] -> idle2.7 
-rwxrwxr-x 1 root admin 138 Jul 3 2010 idle2.7* 
lrwxr-x--- 1 root admin  8 Nov 8 23:14 [email protected] -> pydoc2.7 
-rwxrwxr-x 1 root admin 123 Jul 3 2010 pydoc2.7* 
lrwxr-x--- 1 root admin  9 Nov 8 23:14 [email protected] -> python2.7 
lrwxr-x--- 1 root admin  16 Nov 8 23:14 [email protected] -> python2.7-config 
-rwxrwxr-x 1 root admin 33764 Jul 3 2010 python2.7* 
-rwxrwxr-x 1 root admin 1663 Jul 3 2010 python2.7-config* 
lrwxr-x--- 1 root admin  10 Nov 8 23:14 [email protected] -> pythonw2.7 
-rwxrwxr-x 1 root admin 33764 Jul 3 2010 pythonw2.7* 
lrwxr-x--- 1 root admin  11 Nov 8 23:14 [email protected] -> smtpd2.7.py 
-rwxrwxr-x 1 root admin 18272 Jul 3 2010 smtpd2.7.py* 
+0

यह सबसे ज्यादा उत्तर देने वाला उत्तर IMHO होना चाहिए। – dirkk0

+0

"वर्तमान में पाइथन 2 संस्करणों के लिए आरक्षित" के संबंध में, क्या आपके पास इसके लिए एक लिंक है? – Wildcard

+1

@ विल्डकार्ड, पीईपी 394 देखें: https://www.python.org/dev/peps/pep-0394/#recommendation –

4

मैं ओएस एक्स 10.7.5 और पायथन 3.4.2 का उपयोग कर रहा हूं। यदि आप python3 टाइप करते हैं और आप इसे चलाने के लिए चाहते हैं तो इसे पायथन 3 का उपयोग करके चलाया जाएगा। उदाहरण के लिए pyhton3 test001.py। यह एक परीक्षण कार्यक्रम चलाया जिसे मैंने test001 कहा था। आशा है कि ये आपकी मदद करेगा।

+4

स्टैक ओवरफ़्लो में आपका स्वागत है! ऐसा लगता है कि आपका जवाब प्रश्न के वास्तविक जवाब नहीं है जैसा कि पूछा गया है। यदि आप इसे ठीक करना चाहते हैं तो कृपया सहायता के लिए http://stackoverflow.com/help/how-to-answer देखें। – Others

+0

मैंने अपने मैक पर काम करने के लिए python3 प्राप्त करने की कोशिश कर रहे HOURS को बिताया - पुरानी 'पायथन' की बजाय टाइपिंग 'पायथन 3' टाइप किया। – YCode

16

पुराना सवाल है, लेकिन वैकल्पिक रूप से:

virtualenv --python=python3.5 .venv 
source .venv/bin/activate 
+0

सुनिश्चित करें लेकिन अगर आपके पास निष्पादन योग्य नहीं है (उदा। Python3.5) यह समाधान काम नहीं करता है। –

+0

मुझे लगता है कि इसमें यह शामिल है कि http://stackoverflow.com/questions/5506110/is-it-possible-to-install-another-version-of-python-to-virtualenv – FreshPow

संबंधित मुद्दे