পাইথনের আমার কি সংস্করণ আছে?


73

পাইথনের কোন সংস্করণ রয়েছে তা আমি কীভাবে জানতে পারি?

আমি উবুন্টু 14.04 (বিশ্বস্ত তাহর) ব্যবহার করছি।


4
এছাড়াও কী কী অজগর বাইনারি ইনস্টল করা হয়েছে তা দেখার একটি দ্রুত উপায় হ'ল:ls /usr/bin | grep python
তেজাস কালে

1
@ টেজাসকেল চালানোর জন্য আরও ভাল ls /usr/bin/python*(বা ls /usr/bin/*python*যদি আপনি সত্যিই নামের python যে কোনও জায়গায় ফাইল চান )। এইভাবে, lsএখনও এটি একটি টার্মিনালের জন্য তার আউটপুট ফর্ম্যাট করে (এবং আপনি একাধিক কলাম পাবেন এবং lsউবুন্টুতে ডিফল্ট উপন্যাসের সাথে রঙিনকরণ)।
এলিয়াহ

উত্তর:


86

কমান্ডটি সমাধান 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) এর অধীনে বাস করা যায় on

যদি আমরা ধরে নিই যে পাইথন বাইনারিটি সর্বদা ডাকা হয় 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

এটি অবশ্যই একটি দুর্দান্ত জঘন্য আদেশ command


আমি পেয়ে গেছি মৌ, নিম্নলিখিত, এবং আমি নিশ্চিত নই এটা মানে কি: readlink: extra operand '/usr/bin/python2.7' Try 'readlink --help' for more information.
hello_there_andy

আমি ধরে নিয়েছি python -vসংস্করণটি ফিরে আসবে এবং এটিকে মূল হিসাবে চালিত করব। এটি জিনিসগুলির একটি দীর্ঘ তালিকা ছাপিয়েছে, তবে শীর্ষে এটি বলেছে installing zipimport hookএবং এখন মনে হচ্ছে যেন আমি এমন একটি প্রোগ্রামে আছি যা থেকে কীভাবে বেরোনোর ​​আমার ধারণা নেই, আনইনস্টলটি ছেড়ে দেওয়া যাক ?? আপনি কি আমাকে এখানে সাহায্য করতে পারেন
বাগভিশিরার

2
@ অ্যান্টনি -Vসংস্করণটির পতাকাটি কেস-সংবেদনশীল। python -vভার্বোজ বার্তা চালু করে আপনাকে পাইথন কনসোলে রাখে। বেরোনোর ​​জন্য + ডি নিয়ন্ত্রণ করুন। অথবা লিখুন exit()এবং রিটার্ন টিপুন।
অলি

@ হেলো_এখানে_আমি আপনি অনুমান করেছেন যে আপনি কমান্ডটি অনুলিপি করার সময় আপনি একটি টাইপো করেছেন।
wjandrea

63

টার্মিনাল ( Ctrl+ Alt+ T) এ নিম্নলিখিত লিখুন :

python -V

অথবা

python --version

টার্মিনালে অনেকগুলি কমান্ডের জন্য অপশন / পরামিতির একটি তালিকা খুঁজে পেতে পারেন --help এর পরে কমান্ডটি টাইপ করে

উদাহরণ:

python --help

ম্যানুয়াল / manpages যেমন CLI অধিকাংশ যার দ্বারা প্রদর্শিত হতে পারে জন্য উপলব্ধ 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.x চালাচ্ছেন তা সন্ধান করতে।


2
আপনার কাছে সম্ভবত "পাইথন" এর একাধিক সংস্করণ রয়েছে বলে ফ্লোরিয়ান ডিয়েশ এই নীচে লক্ষণীয়। ডিফল্ট "পাইথন" কলটি পাইথন ২.7 এর একটি ইনস্টলেশনকে নির্দেশ করে, যদিও উবুন্টু ১৪.০৪ পাইথন 3.0.০ এর সাথে আসে।
মিচ


8

আপনি যখন pythonটার্মিনালে চালাবেন , এটি এরকম আউটপুট তৈরি করবে:

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "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 linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

যাইহোক, এটি আপনাকে সমস্ত দেখায় না। যদি আপনার কাছে 2 বা ততোধিক অজগর 3.Xx সংস্করণ থাকে তবে আপনি কেবল সর্বশেষতমটি দেখতে পাবেন।

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 দেয়

আমার সর্বনাম তিনি / তাঁর


"যদি আপনার কাছে 2 বা ততোধিক অজগর 3. এক্সএক্স সংস্করণ থাকে তবে আপনি কেবল সর্বশেষতমটি দেখতে পাবেন" " এটি পরিবর্তে PATHপরিবেশের ভেরিয়েবলের মধ্যে তালিকাভুক্ত যার একটিতে এর ডিরেক্টরিটি রয়েছে তার পরিবর্তে কি এটি প্রদর্শিত হবে না ? কেন python3সর্বদা চলমান পাইথন 3 এর সর্বোচ্চ (উপ) সংস্করণটি ইনস্টল করা হবে? বা, অনুশীলনে, এটি /usr/bin/python3প্রতীকী লিঙ্কটি যে সংস্করণটি দেখায় , যা সর্বশেষতম হওয়ার দরকার নেই?
এলিয়াহ কাগন

@ এলিয়া কোনও ধারণা নেই, তবে কিছু প্রোগ্রাম সেগুলি সেখান থেকে এবং অন্যদের থেকে নেওয়া হয় /usr/bin...
টিম

2
ওয়েল, যখন এটি আসলে পাইথন প্রোগ্রাম চলমান যে, তা কিভাবে চালানো হয় তার উপর নির্ভর করে আসে, hashbang লাইন নির্ধারণ করতে যা পাইথন কাজ ব্যাখ্যাকারী হিসাবে (ব্যবহার করা যেতে পারে বিস্তারিত ; আরো উল্লেখ্য ব্যবহার envhashbang লাইনে এটি যেটা ব্যাখ্যা সিস্টেম হতে পারে -preferred মধ্যে পাইথন স্ক্রিপ্ট সাধারণ )। আমি নিশ্চিত নই যে আপনি কিছু প্রোগ্রাম এবং অন্যদের মধ্যে পার্থক্য বলতে যা বোঝাতে চাইছেন তা if
এলিয়াহ কাগন

না, একজন ব্যবহারকারী বলেছিলেন যে নিষ্ক্রিয়তা 3.4.0 এবং কমান্ড লাইনের সাথে 3.4.1 নিয়ে চলেছিল ...
টিম

5

আপনি platformস্ট্যান্ডার্ড লাইব্রেরি থেকে মডিউল ব্যবহার করে কোড থেকে পাইথন সংস্করণটিও পরীক্ষা করতে পারেন । দুটি ফাংশন রয়েছে: platform.python_version()(রিটার্ন স্ট্রিং) এবং platform.python_version_tuple()(রিটার্ন টুপল)। লিপি:

import platform

print(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')

3
আমি মনে করি এটি ব্যবহার করা আরও সাধারণ sys.versionবা sys.version_info
ম্যাট নর্ডহফ 16

5

আপনি যদি পাইথনের সমস্ত সংস্করণ কমান্ড হিসাবে উপলব্ধ দেখতে চান তবে চালান compgen -c python। উদাহরণ:

$ compgen -c python
python2.7
python3.4m
python3.4
python3m
python
python3
python2

আপনি যদি উপরের প্রতিটিটির সংস্করণ পেতে চান তবে এখানে একটি ওয়ান-লাইনার রয়েছে:

$ for p in $(compgen -c python); do printf "%-16s" $p; $p --version; done
python2.7      Python 2.7.6
python3.4m     Python 3.4.3
python3.4      Python 3.4.3
python3m       Python 3.4.3
python         Python 2.7.6
python3        Python 3.4.3
python2        Python 2.7.6

হালনাগাদ: python*-config

আমি লক্ষ্য করেছি যে python*-configপ্রোগ্রামগুলি --versionপতাকা সমর্থন করে না । উদাহরণ স্বরূপ:

$ python3-config --version
Usage: /usr/bin/python3-config --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--abiflags|--configdir

সুতরাং আপনি এগুলি দিয়ে ফিল্টার করতে পারেন grep -v, উদাহরণস্বরূপ:

compgen -c python | grep -v -- '-config$'

আমার ধারণা এটি শীর্ষ উত্তর হতে হবে।
সলোমন ভিমাল

2

সহজেই, টার্মিনালটি খুলুন এবং নিম্নলিখিতগুলি করুন:

লেখা

python

আপনার 2.x সংস্করণটি যাচাই করতে আমার ক্ষেত্রে এটি প্রদর্শিত হবে:

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

3.x এর জন্য, লিখুন:

python3

আমার ক্ষেত্রে এটি উপস্থিত হয়:

Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.

দুটি ক্ষেত্রেই পাইথন শেল থেকে বেরিয়ে আসতে লিখুন:

 exit()

1
  • শেল টার্মিনালে

    $ which -a pythonআপনার সমস্ত তালিকা python

    $ which -a python2.7আপনার সমস্ত তালিকা python2.7

    $ /usr/bin/python -Vএর সংস্করণ সম্পর্কে তথ্য দেয় /usr/bin/python

  • পাইথন স্ক্রিপ্ট চেক ইন

এখানে আইপথন শেলের একটি ইলাস্ট্রেশন রয়েছে:

In [1]: import sys

In [2]: sys.version
2.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_info
sys.version_info(major=2, minor=7, micro=11, releaselevel='final', serial=0)

In [4]: sys.version_info >= (2,7)
Out[4]: True

In [5]: sys.version_info >= (3,)
Out[5]: False

আমি ধরে নিয়েছি python -vসংস্করণটি ফিরে আসবে এবং এটিকে মূল হিসাবে চালিত করব। এটি জিনিসগুলির একটি দীর্ঘ তালিকা ছাপিয়েছে, তবে শীর্ষে এটি বলেছে installing zipimport hookএবং এখন মনে হচ্ছে যেন আমি এমন একটি প্রোগ্রামে আছি যা থেকে কীভাবে বেরোনোর ​​আমার ধারণা নেই, আনইনস্টলটি ছেড়ে দেওয়া যাক ?? আপনি কি আমাকে এখানে সাহায্য করতে পারেন
বাগভিশিরার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.