스크립트에서 파이썬 버전을 확인하는 방법

Jinku Hu 2023년10월10일
  1. Python 버전을 확인하는 sys.version 메소드
  2. Python 버전을 확인하는 sys.version_info 메소드
  3. 파이썬 버전을 확인하는 platform.python_version()메소드
  4. 파이썬 버전을 확인하는 six모듈 방법
스크립트에서 파이썬 버전을 확인하는 방법

다른 상황에서는 Python 버전 또는보다 정확하게는 Python 스크립트 파일을 실행하는 Python 인터프리터 버전을 알아야합니다.

Python 버전을 확인하는 sys.version 메소드

이 버전 정보는 sys 모듈의 sys.version 에서 검색 할 수 있습니다.

Python 2.x 에서

>>> import sys
>>> sys.version
'2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)]'

또는 Python 3.x 에서

>>> import sys
>>> sys.version
'3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]'

Python 버전을 확인하는 sys.version_info 메소드

sys.version 은 현재 파이썬 인터프리터의 사람이 읽을 수있는 버전 정보가 포함 된 문자열을 반환합니다. 그러나 주 릴리스 번호및 마이크로 릴리스 번호와 같은 정보는 코드에서 추가로 사용하기 위해 추가 처리가 필요합니다.

sys.version_info 는 버전 정보를 명명 된 튜플로 반환하여이 문제를 쉽게 해결합니다. 반환되는 버전 데이터는

데이터 기술
major 주요 출시 번호
micro 패치 릴리스 번호
minor 부 릴리스 번호
releaselevel alpha, beta, candidate 또는 release
serial 일련 번호
>>> import sys
>>> sys.version_info
sys.version_info(major=2, minor=7, micro=10, releaselevel='final', serial=0)

>,>=,==,<=또는<연산자를 사용하여 현재 버전을 참조 버전과 비교할 수 있습니다.

>>> import sys
>>> sys.version_info >= (2, 7)
True
>>> sys.version_info >= (2, 7, 11)
False

스크립트에 assert 를 추가하여 최소한의 Python 버전 요구 사항으로 스크립트를 실행할 수 있습니다.

import sys

assert sys.version_info >= (3, 7)

인터프리터가 버전 요구 사항을 충족하지 않으면 AssertionError가 발생합니다.

Traceback (most recent call last):
  File "C:\test\test.py", line 4, in <module>
    assert sys.version_info >= (3, 7)
AssertionError

파이썬 버전을 확인하는 platform.python_version()메소드

platform 모듈의 python_version()모듈은 Python 버전을 문자열 major.minor.patchlevel으로 반환합니다.

>>> from platform import python_version
>>> python_version()
'3.7.0'

또는 sys.version_info 와 유사하게 platform 에는 파이썬 버전을 문자열의 튜플(major, minor, patchlevel)로 반환하는 방법이 있습니다-python_version_tuple()

>>> import platform
>>> platform.python_version_tuple()
('3', '7', '0')

파이썬 버전을 확인하는 six모듈 방법

Python 버전이 Python 2.x 인지 Python 3.x 인지 확인해야하는 경우 six module을 사용하여 작업을 수행 할 수 있습니다.

from __future__ import print_function

import six

if six.PY2:
    print("Python 2.x")
if six.PY3:
    print ("Python 3.x")
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

관련 문장 - Python Version