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

Edu*_*rdo 6 python python-3.x

我可以放置:

from __future__ import absolute_import
Run Code Online (Sandbox Code Playgroud)

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

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

我维护了一个Python包,我试图尽可能简化我的代码,以便在时机成熟时迁移到Python3.我不能马上做,因为我的依赖关系还没有在Python3上.

Sve*_*ach 8

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

文档:

未来的声明是编译器的一个指令,即应该使用将在Python的指定未来版本中提供的语法或语义来编译特定模块.