我可以放置:
from __future__ import absolute_import
在我的包上的顶级目录__init__.py
内,并保证absolute_import将应用于在该包或子包内运行的所有代码?
或者我应该将该指令放在每个进行绝对导入的模型中吗?
我维护了一个Python包,并且我正在努力保持我的代码尽可能简单,以便在时机成熟时迁移到Python3。我不能马上做,因为我的依赖关系还没有在Python3上。
答案 0 :(得分:8)
不,__future__
导入仅对单个文件有效。您必须将此行放在每个Python源文件的顶部。
未来语句是指向编译器的指令,即应使用将在未来Python的指定版本中提供的语法或语义来编译特定模块。