2017-02-08 16 views
3

나는 cheatsheet의 도움을 받아 상호 호환 가능한 Python 2 및 3 코드를 작성하고 있습니다. 이를 수행하는 데 도움이되는 다양한 패키지와 모듈이 있습니다. future 패키지 (예 : future.utils 등), six 패키지 및 __future__ 모듈에 내장되어 있습니다.상호 호환 Python 2/3 작성 : __future__, six 및 future.utils의 차이점은 무엇입니까?

이 패키지를 사용할 때주의해야 할 차이점이 있습니까? 나는 그것들을 믹싱하고 매칭해야 하는가, 아니면 완전히 호환되는 코드를 작성하여 그 중 하나만 쓰면 될까? 파이썬 2-3 호환성의 측면에서

답변

4

:

__future__은 -입니다 내장 당신은 그들이 (필수 대) 선택 사항 파이썬 버전에 옵션 기능을 사용할 수 있습니다 파이썬에서 모듈. 예를 들어 unicode_literalspython2.7에서는 선택 사항이지만 python3.0에서는 필수 항목이되었습니다.

six - 주로 모듈/기능의 이름을 변경하여 python2에서 python3 사이의 높은 호환성을 제공하지만 기능을 실제로 백 포트 (또는 전달 포트)하지 않습니다. 또한 파이썬 버전 >=2.4에서도 지원됩니다.

future - 최신 버전은 python>=2.6,>=3.3 만 지원하며 기능이 풍부합니다.

파이썬의 이전 버전에 대한 지원을 중단 할 수있는 경우 there is some agreement과 같습니다 (futuresix).