스크립트에서 파이썬 버전을 확인하는 방법
-
Python 버전을 확인하는
sys.version
메소드 -
Python 버전을 확인하는
sys.version_info
메소드 -
파이썬 버전을 확인하는
platform.python_version()
메소드 -
파이썬 버전을 확인하는
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")
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