मैं अजगर 2.7 स्थापित करने के साथ संघर्ष कर रहा है पर डिफ़ॉल्ट अजगर होने की मेरी प्रणाली।
यह पहले से ही था। जब आप एक स्पष्ट शेर बॉक्स लेते हैं, और python
को खोल में टाइप करते हैं, तो यह /usr/bin/python
चलाता है, जो पायथन 2.7.2 है।
अजगर 2.6 मेरी ओएस के साथ आया था
शेर 2.5, 2.6, और 2.7, और एक छिपे हुए 2.3 के साथ आता है।
वे /System/Library/Frameworks/Python.framework/Versions
में स्थापित हैं। 2.3 के अलावा सभी में सिम्लिंक /usr/bin/python2.x
है, एक स्वच्छ प्रणाली पर, उस नाम के साथ आपके पैथ पर पहली बात होगी, इसलिए python2.6
टाइपिंग 2.6 चलाएगी, जबकि python2.7
2.7 चलाएगा।
और /usr/bin/python
पर एक विशेष रैपर भी है जो डिफ़ॉल्ट रूप से 2.7 चलाता है, लेकिन आप इसे VERSIONER_PYTHON_VERSION
या com.apple.versioner.python
वरीयता के साथ कॉन्फ़िगर कर सकते हैं।
मैंने बाद में 2.7 (स्रोत से) स्थापित किया है और यह मेरा डिफ़ॉल्ट संस्करण बनाने की कोशिश कर रहा है।
"डिफ़ॉल्ट संस्करण" से आपका क्या मतलब है? क्या आप चाहते हैं कि जब आप python
को ताजा टर्मिनल खोल में टाइप करते हैं, या #!/usr/bin/env python
को स्क्रिप्ट में शेबैंग लाइन के रूप में उपयोग करते हैं, तो क्या आप इसे चलाने के लिए चाहते हैं?
ऐसा करने का सबसे आसान तरीका यह है कि आपने जो भी निर्देशिका स्थापित की है उसे PATH पर/usr/bin से अधिक में स्थापित किया गया है।
यदि आपने "फ्रेमवर्क बिल्ड" (जो आपके पास होना चाहिए) स्थापित किया है, तो एक निर्देशिका /Library/Frameworks/Python.framework/Versions/2.7/bin
होगी जिसे आप अपने पैथ के शीर्ष पर रख सकते हैं। यह/usr/local और/usr के क्रम को प्रभावित करने से बचाता है, और इसका मतलब है कि आप किसी भी स्क्रिप्ट का उपयोग कर सकते हैं जो Python setup.py स्थापनाओं द्वारा/usr/local/bin में symlink किए बिना स्थापित हो।
यह महत्वपूर्ण है क्योंकि एप्पल के अजगर/usr/स्थानीय/बिन-उदाहरण के लिए में स्क्रिप्ट स्थापित हो जाएगा, यदि आप /usr/bin/easy_install-2.7 pip
, आप के लिए /usr/local/bin/pip
और /usr/local/bin/pip-2.7 . If you also install
pip` मिल जाएगा अपने कस्टम-निर्मित पायथन, आप इसे एक ही स्थान पर नहीं दिखाना चाहते हैं; अन्यथा, जो भी आपने इंस्टॉल किया है वह दूसरे को बदल देता है।
आप एक रूपरेखा का निर्माण स्थापित नहीं हुआ है, या आप इसे वैसे भी /usr/local/bin
लिए स्क्रिप्ट इंस्टॉल करना कॉन्फ़िगर कर दिया है, या आप/usr/स्थानीय के आदेश को प्रभावित करना चाहते हैं , बस के शीर्ष पर /usr/local/bin
डाल अपने पथ।
किसी भी तरह, अजगर 2.6 मेरा डिफ़ॉल्ट अजगर के रूप में स्वत: एलियास हो रही है हर बार मेरी खोल
शुरू होता है ऑटो-aliased करके आप पता लगा एक बैश alias
है मतलब है? जैसा कि आप alias
टाइप करते हैं और यह आपको python
सहित चीजों की एक सूची देता है?
यदि ऐसा है, तो आपको इसे ठीक करने की आवश्यकता है, इसके शीर्ष पर एक और हैक ढेर करने की कोशिश न करें जो इसके प्रभाव को पूर्ववत करें।
यदि ~/.*
में कोई उपनाम आदेश नहीं है, तो /etc/
देखें। यदि आप grep -r alias /etc
, तो यह आपको चीजों की एक बड़ी सूची देगा, और आपको मेल उपनाम और अपाचे उपनामों को छोड़ना होगा (और संभवतः कुछ अनुमति stderr को आउटपुट से इनकार कर दिया जाएगा), लेकिन उसके बाद, कोई शेल उपनाम नहीं होना चाहिए।
इसके अलावा, मेरे/usr/bin/अजगर कुछ भी करने के लिए एलियास नहीं है,
यह बनाता है मुझे लगता है कि आप अलियासिंग और symlinking भ्रमित कर रहे हैं। वे एक ही बात नहीं हैं। कौन सी समस्या है? आपको यह जानना होगा कि इसे ठीक करने से पहले क्या गलत है।
तो, यह प्रयास करें:
which python
यह /Library/Frameworks/Python.framework/Versions/2.7/bin/python
होना चाहिए, अगर अपने पथ आप क्या कहते हैं यह है। यदि नहीं, तो आप अपना पथ सही नहीं स्थापित कर रहे हैं, इसलिए echo $PATH
और देखें।
यदि है, तो ls -l /Library/Frameworks/Python.framework/Versions/2.7/bin/python
। यह किसी अन्य निर्देशिका में कुछ भी नहीं, python2.7
या ./python2.7
पर एक सिम्लिंक होना चाहिए। यदि नहीं, तो आपकी स्थापना टूट गई है, और करने के लिए सबसे अच्छी बात यह है कि पाइथन अनइंस्टॉल करें और इसे ठीक से पुनर्स्थापित करें। या बस इसे पुन: स्थापित करें, और ऐप्पल का उपयोग करें। या, यदि आपको वास्तव में 2.7.2 की बजाय 2.7.3 की आवश्यकता है, या आपको स्टैंडअलोन py2app
बंडल (विशेष रूप से यदि आपको उन्हें पुराने ओएस एक्स के साथ संगत होने की आवश्यकता है) बनाने की आवश्यकता है, या आप sudo
पर एलर्जी हैं और सिस्टम- व्यापक फाइलें विश्व-लेखन योग्य हैं, या किसी अन्य कारण से आप ऐप्पल का उपयोग नहीं कर सकते हैं, इसे स्वयं करने की कोशिश करने के बजाय python.org या होमब्रू से इंस्टॉल करें।
एक साइड नोट के रूप में: क्या आपने 'virtualenv' का उपयोग करने पर विचार किया है? आप जो भी पाइथन इंस्टॉलेशन (ऐप्पल या अन्यथा) चाहते हैं, उसके आस-पास के कई वर्चुअल वातावरण सेट अप कर सकते हैं, और स्पष्ट रूप से उस व्यक्ति को चुन सकते हैं जिसे आप किसी भी समय सक्रिय करना चाहते हैं। – abarnert
मैं गंभीरता से विचार करना शुरू कर रहा हूं। – espais
'virtualenv' वास्तव में अच्छा है। 3.3 में मानक पुस्तकालय में जोड़ा गया एक कारण है।एक बार जब आप ऐसी परिस्थिति में हों जहां आपको अपने पर्यावरण पर ध्यान देना होगा (और वास्तव में, एक बार जब आप अपने सिस्टम के डिफ़ॉल्ट पायथन 2.x का उपयोग नहीं कर रहे हैं, खासकर यदि आप एक ही 2.x संस्करण की दूसरी प्रति इंस्टॉल कर रहे हैं आपके पास पहले से ही था, आप हैं), आप इसे स्पष्ट और आसान बनाने के लिए भी कर सकते हैं। – abarnert