मैं कैसे पता लगा सकता हूं कि मेरे पास पायथन के कौन से संस्करण हैं?
मैं उबंटू 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" --versiondone
python 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
इसके अलावा, यह देखने का एक त्वरित तरीका है कि पायथन बायनेरिज़ क्या स्थापित हैं : एलएस /यूएसआर/बिन | ग्रेप पायथन
@ तेजस्केल एलएस /यूएसआर/बिन/पायथन*
(या एलएस /यूएसआर/बिन/*पायथन*
चलाने के लिए बेहतर है यदि आप वास्तव में पायथन
के साथ फाइलें चाहते हैं कहीं भी नाम में) । इस तरह, एलएस
अभी भी एक टर्मिनल के लिए अपने आउटपुट को प्रारूपित करता है (और आपको कई कॉलम मिलते हैं और, उबंटू में डिफ़ॉल्ट एलएस
उपनाम के साथ, रंगीकरण) ।