버전 별 파이썬 모듈을 가져 오는 가장 좋은 방법
-
19-08-2019 - |
문제
버전에 특정한 파이썬에서 모듈을 가져 오는 데 가장 적합한 방법은 무엇입니까? 제 사용 사례는 Python 2.3 환경에 배치 될 코드를 작성하고 몇 달 안에 Python 2.5로 업그레이드됩니다. 이것:
if sys.version_info[:2] >= (2, 5):
from string import Template
else:
from our.compat.string import Template
아니면 이거
try:
from string import Template
except ImportError:
from our.compat.string import Template
어느 경우도 똑같이 정확하고 올바르게 작동하지만 어느 것이 바람직한 지 알고 있습니까?
해결책
항상 두 번째 방법 - 다른 파이썬 설치가 무엇인지 알 수 없습니다. Template
덜 중요한 특정 사례이지만 버전 관리 대신 기능을 테스트하면 항상 더 강력합니다.
그것이 내가 만드는 방법입니다 testoob Python 2.2-2.6 지원 : 작동 할 때까지 모듈을 다양한 방식으로 가져 오려고합니다. 또한 타사 라이브러리와도 관련이 있습니다.
다음은 극단적 인 사례입니다. ElementTree가 나타나기위한 다양한 옵션을 지원합니다.
try: import elementtree.ElementTree as ET
except ImportError:
try: import cElementTree as ET
except ImportError:
try: import lxml.etree as ET
except ImportError:
import xml.etree.ElementTree as ET # Python 2.5 and up
다른 팁
나는 아마도 두 번째 것이 바람직하다고 주장 할 것이다. 때로는 새로운 버전의 Python에서 모듈을 이전 버전으로 설치할 수 있습니다. 예를 들어, WSGIREF에는 Python 2.5가 포함되어 있지만 이전 버전으로 설치하는 것은 전적으로 드문 일이 아닙니다 (Python 2.3 UP과 함께 작동한다고 생각합니다).
제휴하지 않습니다 StackOverflow