산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

파이썬 스크립트에서 최소 버전 강제하기: sys.version_info 활용법

사용자가 호환되지 않는 파이썬 버전으로 스크립트를 실행하는 것을 방지하려면 진입점에서 버전 체크를 추가하세요. sys.version_info는 메이저, 마이너, 마이크로 버전을 튜플로 제공하므로 비교가 직관적입니다.

버전 체크 패턴

import sys

# 파이썬 2.7 이하 차단
if not sys.version_info > (2, 7):
    sys.exit("이 스크립트는 파이썬 2.7 초과 버전이 필요합니다. (파이썬 3 권장)")

# 파이썬 3.5 미만 차단 (3.5 기능 사용 시)
elif not sys.version_info >= (3, 5):
    sys.exit("이 스크립트는 파이썬 3.5 이상이 필요합니다. (타입 힌트, async/await 등 사용)")

# 정상 실행
print(f"실행 중인 파이썬 버전: {sys.version}")

튜플 비교의 장점

실무 권장사항

  1. 스크립트 최상단에 배치하여 조기 종료(fail fast) 유도
  2. 에러 메시지에 필요한 최소 버전과 설치 가이드 링크 포함
  3. python_requires를 setup.py/pyproject.toml에도 명시하여 패키지 설치 단계에서 차단

더 정교한 체크가 필요할 때

import sys
from packaging import version

# 패키징 라이브러리로 복잡한 버전 제약 처리
required = ">=3.8, <3.13"
current = version.parse(".".join(map(str, sys.version_info[:3])))
if not version.parse(required).contains(current):
    sys.exit(f"지원 버전: {required}, 현재: {current}")

packaging은 pip 의존성으로 이미 설치되어 있어 별도 설치 없이 사용 가능합니다.

python

  1. 파이썬 데이터 타입 마스터하기: 실전 가이드
  2. 파이썬 연산자 마스터하기: 종합 가이드
  3. 파이썬 pass 문 마스터하기: 실전 가이드
  4. 파이썬 함수 인자 마스터하기: 위치, 키워드, 기본 매개변수
  5. Python 딕셔너리 마스터하기: 생성, 조작, 고급 기법
  6. Python 이터레이터: 작동 원리와 직접 만들기
  7. Python 클로저 이해하기: 중첩 함수가 변수 캡처하는 방법
  8. Python datetime 마스터하기: 날짜, 시간, 타임존 실전 가이드
  9. Python time.sleep() 완전 정복: 모범 사례, 멀티스레딩, 실전 예제
  10. Python 루프 마스터하기: for, while, break, continue, enumerate 완전 정복