如何强制我的整个包使用__future__指令?

时间:2012-07-14 11:21:45

标签: python python-3.x

我可以放置:

from __future__ import absolute_import

在我的包上的顶级目录__init__.py内,并保证absolute_import将应用于在该包或子包内运行的所有代码?

或者我应该将该指令放在每个进行绝对导入的模型中吗?

我维护了一个Python包,并且我正在努力保持我的代码尽可能简单,以便在时机成熟时迁移到Python3。我不能马上做,因为我的依赖关系还没有在Python3上。

1 个答案:

答案 0 :(得分:8)

不,__future__导入仅对单个文件有效。您必须将此行放在每个Python源文件的顶部。

来自documentation

  

未来语句是指向编译器的指令,即应使用将在未来Python的指定版本中提供的语法或语义来编译特定模块。