मैं कैसे पता लगा सकता हूं कि मेरे पास पायथन के कौन से संस्करण हैं?
मैं उबंटू 14.04 (भरोसेमंद तहर) का उपयोग कर रहा हूं ।
मैं कैसे पता लगा सकता हूं कि मेरे पास पायथन के कौन से संस्करण हैं?
मैं उबंटू 14.04 (भरोसेमंद तहर) का उपयोग कर रहा हूं ।
आप उपयोग कर सकते हैं python -V (एट अल।) आपको पायथन का संस्करण दिखाने के लिए कि python आदेश को हल करता है । अगर आपको बस इतना ही चाहिए, तो आपका काम हो गया । लेकिन आपके सिस्टम में पायथन के हर संस्करण को देखने के लिए थोड़ा अधिक लगता है ।
उबंटू में हम संकल्प की जांच कर सकते हैं readlink -f $(which python). 14.04 में डिफ़ॉल्ट मामलों में यह बस इंगित करेगा /usr/bin/python2.7.
हम पायथन के उस संस्करण के संस्करण को दिखाने के लिए इसे चेन कर सकते हैं:
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'/usr/bin/python2.7: Python 2.7.6लेकिन यह अभी भी केवल हमें बता रहा है कि हमारा वर्तमान क्या है python संकल्प है। अगर हम वर्चुअलएन्व (एक सामान्य पायथन स्टैक प्रबंधन प्रणाली)में थे python एक अलग संस्करण के लिए हल हो सकता है:
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'/home/oli/venv/bin/python: Python 2.7.4यह वास्तविक आउटपुट है ।
तथ्य यह है कि आपके सिस्टम के चारों ओर गुप्त पाइथन के सैकड़ों विभिन्न संस्करण हो सकते हैं, या तो उन पथों पर जो प्रासंगिक रूप से जोड़े जाते हैं, या विभिन्न बाइनरी नामों (जैसे) के तहत रहते हैं python3).
अगर हम मानते हैं कि एक पायथन बाइनरी हमेशा कहा जाने वाला है python<something> और एक बाइनरी फ़ाइल हो, हम केवल उन मानदंडों से मेल खाने वाली फ़ाइलों के लिए पूरे सिस्टम को खोज सकते हैं:
$ sudo find / -type f -executable -iname 'python*' -exec file -i '{}' \; | awk -F: '/x-executable; charset=binary/ {print $1}' | xargs readlink -f | sort -u | xargs -I % sh -c 'echo -n "%: "; % -V'/home/oli/venv/bin/python: Python 2.7.4/media/ned/websites/venvold/bin/python: Python 2.7.4/srv/chroot/precise_i386/usr/bin/python2.7: Python 2.7.3/srv/chroot/trusty_i386/usr/bin/python2.7: Python 2.7.6/srv/chroot/trusty_i386/usr/bin/python3.4: Python 3.4.0/srv/chroot/trusty_i386/usr/bin/python3.4m: Python 3.4.0/usr/bin/python2.7: Python 2.7.6/usr/bin/python2.7-dbg: Python 2.7.6/usr/bin/python3.4: Python 3.4.0/usr/bin/python3.4dm: Python 3.4.0/usr/bin/python3.4m: Python 3.4.0/web/venvold/bin/python: Python 2.7.4यह स्पष्ट रूप से एक बहुत ही घृणित आदेश है लेकिन यह फिर से वास्तविक आउटपुट है और ऐसा लगता है कि इसने काफी गहन काम किया है ।
टर्मिनल में निम्नलिखित टाइप करें (Ctrl+Alt+T):
python -Vया
python --versionआप टर्मिनल में कई कमांड के लिए विकल्पों/मापदंडों की एक सूची पा सकते हैं, जिसके बाद कमांड टाइप करके -- मदद
उदाहरण:
python --helpऐसे अधिकांश सीएलआई के लिए मैनुअल/मैनपेज भी उपलब्ध हैं जिन्हें निम्न द्वारा प्रदर्शित किया जा सकता है man <command> (से: man python)
से man python:
COMMAND LINE OPTIONS -V , --version Prints the Python version number of the executable and exits.वहाँ भी है python3 कई मशीनों पर स्थापित, तो आप कर सकते हैं:
python3 --versionक्या अजगर 3 पता लगाने के लिए । एक्स आप चल रहे हैं ।
python --versionऔर
python2 --versionपायथन 2 का संस्करण दिखाएं।x,
python3 --versionपायथन 3 का स्थापित संस्करण । x
जब आप दौड़ते हैं python टर्मिनल में, यह इस तरह उत्पादन का उत्पादन करेगा:
Python 2.7.6 (default, Mar 22 2014, 22:59:56) [GCC 4.8.2] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> पहली पंक्ति देखें - Python 2.7.6.
भी चलाते हैं python3. मेरे पास 3.4.1 है
Python 3.4.1 (default, Jul 31 2014, 12:46:17) [GCC 4.8.2] on linuxType "help", "copyright", "credits" or "license" for more information.>>>हालाँकि, यह आपको उन सभी को नहीं दिखाएगा । यदि आपके पास 2 या अधिक पायथन 3 है । एक्स संस्करण, आप केवल नवीनतम देखेंगे।
डिफ़ॉल्ट रूप से 14.04 पर, आपके पास 2.7.6 और 3.4.0 है । जैसा कि आप देख सकते हैं, मैंने 3.4.1 पर अपडेट किया है । मुझे पता है कि मेरे पास अभी भी 3.4.0 है क्योंकि जब मैं जाता हूं /usr/bin मैं देख रहा हूँ python3.4, और अगर मैं दौड़ता हूं /usr/bin/python3.4 कमांड लाइन में, मुझे 3.4.0 मिलता है, और चल रहा है /usr/local/bin/python3.4 मुझे देता है 3.4.1
मेरे सर्वनाम वह / वह हैं
यदि आप पायथन के सभी संस्करणों को कमांड के रूप में उपलब्ध देखना चाहते हैं, तो चलाएं compgen -c python. जैसे:
$ compgen -c python | sort -upythonpython2python2.7python3python3.4python3.4mpython3mयदि आप उपरोक्त में से प्रत्येक का संस्करण प्राप्त करना चाहते हैं:
compgen -c python | sort -u | grep -v -- '-config$' | while read -r p; do printf "%-14s " "$p" "$p" --versiondonepython Python 2.7.6python2 Python 2.7.6python2.7 Python 2.7.6python3 Python 3.4.3python3.4 Python 3.4.3python3.4m Python 3.4.3python3m Python 3.4.3नोट: मैं बाहर फ़िल्टर कर रहा हूँ python*-config के साथ कार्यक्रम grep -v चूंकि वे समर्थन नहीं करते हैं --version झंडा। उदाहरण के लिए:
$ python3-config --versionUsage: /usr/bin/python3-config --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--abiflags|--configdir
आप कोड से ही पायथन संस्करण की जांच कर सकते हैं platform मानक पुस्तकालय से मॉड्यूल। दो कार्य हैं: platform.python_version() (रिटर्न स्ट्रिंग) और platform.python_version_tuple() (रिटर्न टपल)। स्क्रिप्ट:
import platformprint(platform.python_version())print(platform.python_version_tuple())चल रहा है:
$ python test.py 3.4.1('3', '4', '1')$ python2.7 test.py 2.7.8('2', '7', '8')
आसानी से, टर्मिनल खोलें और निम्न कार्य करें:
लिखो
pythonअपने 2 को सत्यापित करने के लिए । एक्स संस्करणमेरे मामले में, यह दिखाई देगा:
Python 2.7.6 (default, Mar 22 2014, 22:59:56) [GCC 4.8.2] on linux2Type "help", "copyright", "credits" or "license" for more information.3 के लिए । एक्स, लिखें:
python3मेरे मामले में, यह प्रकट होता है:
Python 3.4.0 (default, Apr 11 2014, 13:05:11) [GCC 4.8.2] on linuxType "help", "copyright", "credits" or "license" for more information.दोनों मामलों के लिए, पायथन शेल से बाहर निकलने के लिए, लिखें:
exit()
शेल टर्मिनल में
$ which -a python सूची आपके सभी python.
$ which -a python2.7 सूची आपके सभी python2.7.
$ /usr/bin/python -V के संस्करण के बारे में जानकारी देता है /usr/bin/python.
पायथन स्क्रिप्ट में जाँच करें
यहाँ आईपीथॉन शेल में एक इलस्ट्रेशन है:
In [1]: import sysIn [2]: sys.version2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Dec 6 2015, 18:08:32) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]In [3]: sys.version_infosys.version_info(major=2, minor=7, micro=11, releaselevel='final', serial=0)In [4]: sys.version_info >= (2,7)Out[4]: TrueIn [5]: sys.version_info >= (3,)Out[5]: False
इसके अलावा, यह देखने का एक त्वरित तरीका है कि पायथन बायनेरिज़ क्या स्थापित हैं : एलएस /यूएसआर/बिन | ग्रेप पायथन
@ तेजस्केल एलएस /यूएसआर/बिन/पायथन* (या एलएस /यूएसआर/बिन/*पायथन* चलाने के लिए बेहतर है यदि आप वास्तव में पायथन के साथ फाइलें चाहते हैं कहीं भी नाम में) । इस तरह, एलएस अभी भी एक टर्मिनल के लिए अपने आउटपुट को प्रारूपित करता है (और आपको कई कॉलम मिलते हैं और, उबंटू में डिफ़ॉल्ट एलएस उपनाम के साथ, रंगीकरण) ।