ตรวจสอบและแสดงเวอร์ชัน Python (เช่น sys.version)

ธุรกิจ

ส่วนนี้แสดงวิธีรับ ตรวจสอบ และแสดงเวอร์ชัน Python ที่ติดตั้งและเวอร์ชันของ Python ที่รันอยู่ในสคริปต์จริง

ส่วนนี้อธิบายวิธีการตรวจสอบบรรทัดคำสั่งและรหัสตามลำดับ

  • ตรวจสอบและแสดงเวอร์ชันบนบรรทัดคำสั่ง:--version,-V,-VV
  • รับเวอร์ชันในรหัส:sys,platform
    • สตริงของข้อมูลต่างๆ รวมถึงหมายเลขเวอร์ชัน:sys.version
    • ทูเพิลที่เป็นตัวเลขของหมายเลขเวอร์ชัน:sys.version_info
    • สตริงหมายเลขเวอร์ชัน:platform.python_version()
    • ทูเพิลของสตริงหมายเลขเวอร์ชัน:platform.python_version_tuple()

หากคุณได้รับหมายเลขเวอร์ชันในโค้ด คุณสามารถแสดงด้วย print() เพื่อตรวจสอบ และสลับกระบวนการตามเวอร์ชัน

ตรวจสอบและแสดงเวอร์ชันบนบรรทัดคำสั่ง: –version, -V, -VV

คุณสามารถใช้พรอมต์คำสั่งสำหรับ Windows หรือเทอร์มินัลสำหรับ Macpythonคำสั่งหรือpython3สั่งการ.--versionไม่บังคับหรือ-Vตัวเลือกที่จะเรียกใช้

$ python --version
Python 2.7.15

$ python -V
Python 2.7.15

$ python3 --version
Python 3.7.0

$ python3 -V
Python 3.7.0

ดังที่คุณเห็นในตัวอย่างด้านบน ระบบ Python 2.x อาจเป็น . ขึ้นอยู่กับสภาพแวดล้อมของคุณpythonคำสั่งชุด Python 3.x จะเป็นpython3มันถูกกำหนดให้เป็นคำสั่ง

จาก Python 3.6-VVเพิ่มตัวเลือกแล้ว-Vสามารถดูรายละเอียดข้อมูลมากกว่า

$ python3 -VV
Python 3.7.0 (default, Jun 29 2018, 20:13:13) 
[Clang 9.1.0 (clang-902.0.39.2)]

รับเวอร์ชันในโค้ด: sys, platform

คุณยังสามารถใช้โมดูล sys หรือโมดูลแพลตฟอร์มของไลบรารีมาตรฐานเพื่อรับ ตรวจสอบ และแสดงเวอร์ชันของ Python ที่กำลังทำงานอยู่จริงได้

เรียกใช้สคริปต์ Python เพื่อตรวจสอบ สคริปต์จะเหมือนกันสำหรับ Windows, Mac, Ubuntu และระบบ Linux อื่นๆ

สิ่งนี้มีประโยชน์สำหรับการตรวจสอบเวอร์ชันของ Python ที่กำลังใช้งานในสภาพแวดล้อมที่มีการติดตั้ง Python หลายเวอร์ชัน เนื่องจากคุณสามารถเรียกใช้ Python 2 ได้เมื่อคุณคิดว่าคุณกำลังใช้งาน Python 3

นอกจากนี้ยังสามารถใช้สำหรับการแตกแขนงแบบมีเงื่อนไขเมื่อคุณต้องการสลับระหว่างการประมวลผล Python 2 และ Python 3

สตริงข้อมูลต่างๆ รวมถึงหมายเลขเวอร์ชัน: sys.version

sys.versionเป็นสตริงที่ระบุข้อมูลต่างๆ รวมทั้งหมายเลขเวอร์ชัน

sys.version
สตริงที่ระบุหมายเลขเวอร์ชันของล่าม Python รวมถึงข้อมูล เช่น หมายเลขบิลด์และคอมไพเลอร์ที่ใช้
sys — System-specific parameters and functions – Python 3.10.0 Documentation

import sys

print(sys.version)
# 3.7.0 (default, Jun 29 2018, 20:13:13) 
# [Clang 9.1.0 (clang-902.0.39.2)]

print(type(sys.version))
# <class 'str'>

ทูเพิลที่เป็นตัวเลขของหมายเลขเวอร์ชัน: sys.version_info

sys.version_infoเป็น tuple ที่ระบุหมายเลขเวอร์ชัน

sys.version_info
ค่าทูเพิลห้าค่าที่ระบุหมายเลขเวอร์ชัน: major, minor, micro, releaselevel และ serial ค่าทั้งหมดยกเว้น releaselevel เป็นจำนวนเต็มsys — System-specific parameters and functions – Python 3.10.0 Documentation

print(sys.version_info)
# sys.version_info(major=3, minor=7, micro=0, releaselevel='final', serial=0)

print(type(sys.version_info))
# <class 'sys.version_info'>

releaselevelเป็นสตริง และองค์ประกอบอื่นๆ ทั้งหมดเป็นจำนวนเต็ม

คุณสามารถระบุดัชนีเพื่อรับค่าที่เกี่ยวข้อง

print(sys.version_info[0])
# 3

เริ่มตั้งแต่เวอร์ชัน 2.7 สำหรับซีรีส์ Python 2 และจากเวอร์ชัน 3.1 สำหรับซีรีส์ Python 3 การเข้าถึงองค์ประกอบโดยใช้ชื่อ (ดูmajorminormicroreleaselevelserialตัวอย่างเช่น หากคุณต้องการรับเวอร์ชันหลัก คุณสามารถใช้ ตัวอย่างเช่น หากคุณต้องการรับเวอร์ชันหลัก คุณสามารถทำดังนี้

print(sys.version_info.major)
# 3

หากคุณต้องการตรวจสอบว่าคุณกำลังเรียกใช้ Python2 หรือ Python3 หรือไม่ ให้ใช้คำสั่งsys.version_info.majorคุณสามารถตรวจสอบเวอร์ชันหลักใน2จากนั้นคุณสามารถใช้ Python2 to3จากนั้น Python3

ตัวอย่างของการสลับระหว่างการประมวลผล Python 2 และ Python 3 แสดงอยู่ด้านล่าง

if sys.version_info.major == 3:
    print('Python3')
else:
    print('Python2')
# Python3

หากคุณต้องการเปลี่ยนกระบวนการในเวอร์ชันรองsys.version_info.minorกำหนด

โปรดทราบว่าตามที่กล่าวไว้ข้างต้น การเข้าถึงองค์ประกอบตามชื่อได้รับการสนับสนุนจากเวอร์ชัน 2.7 และ 3.1 ดังนั้นหากคุณมีแนวโน้มที่จะเรียกใช้ในเวอร์ชันก่อนหน้า คุณสามารถใช้sys.version_info[0]และ … และsys.version_info[1]ระบุโดยดัชนี

สตริงหมายเลขเวอร์ชัน: platform.python_version()

platform.python_version()เป็น.major.minor.patchlevelฟังก์ชันที่ส่งคืนสตริงในรูปแบบ

platform.python_version()
ส่งกลับเวอร์ชัน Python เป็นสตริงในรูปแบบ ‘major.minor.patchlevel’
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

import platform

print(platform.python_version())
# 3.7.0

print(type(platform.python_version()))
# <class 'str'>

มีประโยชน์เมื่อคุณต้องการรับหมายเลขเวอร์ชันเป็นสตริงอย่างง่าย

Tuple ของสตริงหมายเลขเวอร์ชัน: platform.python_version_tuple()

platform.python_version_tuple()เป็น.(major, minor, patchlevel)ฟังก์ชันที่ส่งคืน tuple ของ The เนื้อหาของ tuple ไม่ใช่ตัวเลข แต่เป็นสตริง

platform.python_version_tuple()
ส่งคืนเวอร์ชัน Python เป็น tuple ของสตริง (major, minor, patchlevel)
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

print(platform.python_version_tuple())
# ('3', '7', '0')

print(type(platform.python_version_tuple()))
# <class 'tuple'>

sys.version_infoเนื่องจากมันเป็นเพียงทูเพิล ไม่เหมือนกับmajorและ … และminorไม่อนุญาตให้เข้าถึงองค์ประกอบตามชื่อ

ตรวจสอบและแสดงเวอร์ชัน Python (เช่น sys.version)

ส่วนนี้แสดงวิธีรับ ตรวจสอบ และแสดงเวอร์ชัน Python ที่ติดตั้งและเวอร์ชันของ Python ที่รันอยู่ในสคริปต์จริง

ส่วนนี้อธิบายวิธีการตรวจสอบบรรทัดคำสั่งและรหัสตามลำดับ

  • ตรวจสอบและแสดงเวอร์ชันบนบรรทัดคำสั่ง:--version,-V,-VV
  • รับเวอร์ชันในโค้ด: sys,platform
    • สตริงของข้อมูลต่างๆ รวมถึงหมายเลขเวอร์ชัน: sys.version
    • ทูเพิลที่เป็นตัวเลขของหมายเลขเวอร์ชัน: sys.version_info
    • สตริงหมายเลขเวอร์ชัน: platform.python_version()
    • Tuple ของสตริงหมายเลขเวอร์ชัน: platform.python_version_tuple()

หากคุณได้รับหมายเลขเวอร์ชันในโค้ด คุณสามารถใช้ฟังก์ชันต่อไปนี้เพื่อแสดงและตรวจสอบได้print()คุณยังสามารถเปลี่ยนกระบวนการได้โดยขึ้นอยู่กับเวอร์ชัน

ตรวจสอบและแสดงเวอร์ชันบนบรรทัดคำสั่ง: –version, -V, -VV

คุณสามารถตรวจสอบเวอร์ชันได้โดยดำเนินการคำสั่งต่อไปนี้จากพรอมต์คำสั่งใน Windows หรือ Terminal บน Mac

  • สั่งการ
    • python
    • python3
  • ตัวเลือก
    • --version
    • -V
$ python --version
Python 2.7.15

$ python -V
Python 2.7.15

$ python3 --version
Python 3.7.0

$ python3 -V
Python 3.7.0

ตามที่แสดงในตัวอย่างด้านบน ระบบ Python 2.x ถูกกำหนดให้กับคำสั่ง python และระบบ Python 3.x ถูกกำหนดให้กับคำสั่ง python3 ทั้งนี้ขึ้นอยู่กับสภาพแวดล้อม

เพิ่มตัวเลือก -VV ใน Python 3.6 ตัวเลือก -VV จะแสดงข้อมูลโดยละเอียดมากกว่าตัวเลือก -V

$ python3 -VV
Python 3.7.0 (default, Oct 21 2020, 10:23:15) 
[Clang 9.1.0 (clang-902.0.39.2)]

รับเวอร์ชันในโค้ด: sys, platform

คุณยังสามารถใช้โมดูล sys หรือโมดูลแพลตฟอร์มของไลบรารีมาตรฐานเพื่อรับ ตรวจสอบ และแสดงเวอร์ชันของ Python ที่กำลังทำงานอยู่จริงได้

เรียกใช้สคริปต์ Python เพื่อตรวจสอบ สคริปต์จะเหมือนกันสำหรับ Windows, Mac, Ubuntu และระบบ Linux อื่นๆ

สิ่งนี้มีประโยชน์สำหรับการตรวจสอบเวอร์ชันของ Python ที่กำลังใช้งานในสภาพแวดล้อมที่มีการติดตั้ง Python หลายเวอร์ชัน เนื่องจากคุณสามารถเรียกใช้ Python 2 ได้เมื่อคุณคิดว่าคุณกำลังใช้งาน Python 3

นอกจากนี้ยังสามารถใช้สำหรับการแตกแขนงแบบมีเงื่อนไขเมื่อคุณต้องการสลับระหว่างการประมวลผล Python 2 และ Python 3

สตริงข้อมูลต่างๆ รวมถึงหมายเลขเวอร์ชัน: sys.version

sys.version
นี่คือสตริงที่ระบุข้อมูลต่างๆ รวมถึงหมายเลขเวอร์ชัน

sys.version
สตริงที่ระบุหมายเลขเวอร์ชันของล่าม Python รวมถึงข้อมูล เช่น หมายเลขบิลด์และคอมไพเลอร์ที่ใช้
sys — System-specific parameters and functions – Python 3.10.0 Documentation

import sys

print(sys.version)
# 3.7.0 (default, Oct 21 2020, 10:23:15) 
# [Clang 9.1.0 (clang-902.0.39.2)]

print(type(sys.version))
# <class 'str'>

ทูเพิลที่เป็นตัวเลขของหมายเลขเวอร์ชัน: sys.version_info

sys.version_info
นี่คือทูเพิลที่ระบุหมายเลขเวอร์ชัน

sys.version_info
ค่าทูเพิลห้าค่าที่ระบุหมายเลขเวอร์ชัน: major, minor, micro, releaselevel และ serial ซึ่งทั้งหมดเป็นจำนวนเต็มยกเว้น releaselevel
sys — System-specific parameters and functions – Python 3.10.0 Documentation

print(sys.version_info)
# sys.version_info(major=3, minor=7, micro=0, releaselevel='final', serial=0)

print(type(sys.version_info))
# <class 'sys.version_info'>

releaselevel
นี่คือสตริง และองค์ประกอบอื่นๆ ทั้งหมดเป็นจำนวนเต็ม

คุณสามารถระบุดัชนีเพื่อรับค่าที่เกี่ยวข้อง

print(sys.version_info[0])
# 3

ตั้งแต่เวอร์ชัน 2.7 สำหรับ Python 2 series และเวอร์ชัน 3.1 สำหรับ Python 3 series การเข้าถึงองค์ประกอบต่อไปนี้ตามชื่อยังได้รับการสนับสนุน

  • major
  • minor
  • micro
  • releaselevel
  • serial

ตัวอย่างเช่น หากคุณต้องการรับเวอร์ชันหลัก ให้ทำดังนี้

print(sys.version_info.major)
# 3

หากคุณต้องการตรวจสอบว่าคุณกำลังเรียกใช้ Python 2 หรือ Python 3 หรือไม่ คุณสามารถใช้รหัสต่อไปนี้เพื่อตรวจสอบเวอร์ชันหลัก
sys.version_info.majorหากค่าที่ส่งคืนคือ 2 แสดงว่าเป็น Python2 หากเป็น 3 แสดงว่าเป็น Python3

ตัวอย่างของการสลับระหว่างการประมวลผล Python 2 และ Python 3 แสดงอยู่ด้านล่าง

if sys.version_info.major == 3:
    print('Python3')
else:
    print('Python2')
# Python3

หากคุณต้องการเปลี่ยนกระบวนการด้วยเวอร์ชันรอง ให้กำหนดค่าต่อไปนี้
sys.version_info.minor

โปรดทราบว่าตามที่กล่าวไว้ข้างต้น การเข้าถึงองค์ประกอบตามชื่อได้รับการสนับสนุนจากเวอร์ชัน 2.7 และ 3.1 ดังนั้นหากสามารถดำเนินการได้ในเวอร์ชันก่อนหน้า ให้ระบุโดยดัชนีดังนี้

  • sys.version_info[0]
  • sys.version_info[1]

สตริงหมายเลขเวอร์ชัน: platform.python_version()

platform.python_version() เป็นฟังก์ชันที่ส่งคืนสตริงในรูปแบบ major.minor.patchlevel

platform.python_version()
ส่งกลับเวอร์ชัน Python เป็นสตริงในรูปแบบ ‘major.minor.patchlevel’
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

import platform

print(platform.python_version())
# 3.7.0

print(type(platform.python_version()))
# <class 'str'>

มีประโยชน์เมื่อคุณต้องการรับหมายเลขเวอร์ชันเป็นสตริงอย่างง่าย

Tuple ของสตริงหมายเลขเวอร์ชัน: platform.python_version_tuple()

platform.python_version_tuple() เป็นฟังก์ชันที่คืนค่า tuple ของ (major, minor, patchlevel)
เนื้อหาของทูเพิลไม่ใช่ตัวเลข แต่เป็นสตริง

platform.python_version_tuple()
ส่งคืนเวอร์ชัน Python เป็น tuple ของสตริง (major, minor, patchlevel)
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

print(platform.python_version_tuple())
# ('3', '7', '0')

print(type(platform.python_version_tuple()))
# <class 'tuple'>

ต่างจาก sys.version_info มันเป็นเพียงทูเพิล ดังนั้นจึงไม่สามารถเข้าถึงองค์ประกอบตามชื่อได้