मैं 2.7.2 के बजाय 3,2 मेरा डिफ़ॉल्ट पायथन बनाने के लिए अपना PYTHONPATH कैसे बदलूं?


16

मेरे पास python3.2 स्थित है /usr/lib/python3.2। मुझे यकीन नहीं है कि इसका मतलब यह स्थापित है, लेकिन मुझे लगता है कि यह अभी के लिए है।

मेरे सिस्टम के बारे में कुछ तथ्य:

$ which python
/usr/local/bin/python

जब मैं pythonटर्मिनल में टाइप करता हूं तो मुझे निम्नलिखित मिलते हैं

$ python
Python 2.7.2 (default, Dec 19 2011, 11:12:13) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

फिर मैं जो रास्ता खोजूं

>>> sys.info
>>> sys.path
['', '/usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg', '/usr/local/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg', '/usr/local/lib/python2.7/site-packages/PIL-1.1.7-py2.7-linux-x86_64.egg', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']

तो यह सब जानते हुए, मैं अपने डिफ़ॉल्ट सिस्टम अजगर को 2.7.2 से 3.2 तक कैसे बदल सकता हूं?

जवाबों:


28

डिफ़ॉल्ट अजगर को बदलना अच्छा नहीं है। कई सिस्टम प्रोग्राम python2 python3 पर निर्भर करते हैं। यदि आप python3 का उपयोग करना चाहते हैं, तो आप बस कमांड python3 टाइप करें ।


4
समर्थन पुस्तकालयों और उपकरणों (जैसे पाइनेव, फैब्रिक) के लिए, वे /usr/bin/env pythonवही चाहते हैं जो आप चाहते हैं। इसलिए मैन्युअल रूप से टाइप python3करना समाधान नहीं है।
एरिक मिल

9

PYTHONPATH के पास करने के लिए बहुत कुछ नहीं है। यह सिर्फ पायथन दुभाषिया को बताता है, जो भी दुभाषिया चलाता है, जहां अतिरिक्त मॉड्यूल खोजने के लिए आप लोड करना चाहते हैं।

लेकिन किसी भी तरह से, आपके सिस्टम पर डिफ़ॉल्ट संस्करण बदलना खतरनाक है, जैसा कि अन्य टिप्पणीकारों ने देखा है। आप मौजूदा पैकेज को तोड़ने का जोखिम उठाते हैं जो Python2 के खिलाफ बनाए जाते हैं और उनके दुभाषियों को खोजने के लिए usr / bin / env अजगर का उपयोग करते हैं।

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

लेकिन जब से आपने पूछा, तुम बस यही करते हो:

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.2mu /usr/bin/python

खुश दुर्घटना!


7

मैंने इसे अपने में जोड़ा .bashrc, इसका ठीक काम अब तक:

alias python='python3'

1
यह तब तक काम करेगा जब तक आप एक स्क्रिप्ट से अजगर को नहीं बुलाते हैं, जिसकी आपके उपनामों तक पहुंच नहीं है।
हैलोगूडीबाई

4

के अनुसार इस सेट करने के वातावरण चर कर सकते हैं या सिर्फ नई आयात पथ फ़ोल्डर जोड़ने। लेकिन मैं अजगर परियोजनाओं के लिए virtualenvs का उपयोग करने की सलाह देता हूं अगर आप कुछ लचीलापन चाहते हैं।



1

अगर यह वास्तव में केवल अजगर के बजाय python3.2 में स्थापित प्रकार है और यह डिफ़ॉल्ट के बजाय इसे लोड करेगा। बस इसे स्थापित करने के लिए अजगर ने 3.2 परीक्षण किया =)

अगर यह वास्तव में स्थापित ओपन टर्मिनल नहीं है और इसे प्राप्त करने के लिए sudo apt-get install python3.2 टाइप करें

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