2012-07-14 4 views
6

나는 게재 할 수 : 내 패키지와 garantee의 최상위 디렉토리에 __init__.py 내부전체 패키지가 __future__ 지시문을 사용하도록 강제하는 방법은 무엇입니까?

from __future__ import absolute_import 

는 absolute_import는 패키지 또는 서브 패키지 내에서 실행 모든 코드에 적용됩니다?

절대 가져 오기를 수행하는 각 모델에 해당 지시문을 넣어야합니까?

필자는 Python 패키지를 유지 관리하며 가능한 한 쉽게 코드를 보관하여 Python3으로 마이그레이션합니다. 내 의존성이 아직 파이썬 3에 없기 때문에 나는 그것을 바로 할 수 없다.

+0

변경하려는 경우 '2to3'을 통해 문제를 해결할 수 있습니다. – katrielalex

+3

@katrielalex : "고치기"는 "제거"를 의미합니다. 파이썬 3은 현재의 모든 '__future__'가져 오기를 무시하기 때문에 필요하지 않습니다. –

+0

Python 3.5부터 Python 2.6부터 처음으로 새로운'__future__' 지시어 인'generator_stop'가 도입되었습니다. [PEP 479 참조] (https://www.python.org/dev/peps/pep-0479/). – gerrit

답변

8

아니요, __future__ 가져 오기는 단일 파일에만 유효합니다. 이 라인을 모든 파이썬 소스 파일의 맨 위에 놓아야합니다. documentation에서

:

미래 문은 특정 모듈이 구문이나 파이썬의 특정 릴리스에서 사용할 수 있습니다 의미를 사용하여 컴파일해야 컴파일러에 지시합니다.

관련 문제