我可以放置:
from __future__ import absolute_import
在__init__.py
我的包的顶级目录中,并保证 absolute_import 将应用于在该包或子包内运行的所有代码?
或者我应该将该指令放在执行绝对导入的每个模型中?
我维护了一个 Python 包,并试图让我的代码尽可能容易地在时机成熟时迁移到 Python3。我不能马上做,因为我的依赖项还没有在 Python3 上。
我可以放置:
from __future__ import absolute_import
在__init__.py
我的包的顶级目录中,并保证 absolute_import 将应用于在该包或子包内运行的所有代码?
或者我应该将该指令放在执行绝对导入的每个模型中?
我维护了一个 Python 包,并试图让我的代码尽可能容易地在时机成熟时迁移到 Python3。我不能马上做,因为我的依赖项还没有在 Python3 上。
不,__future__
导入仅对单个文件有效。您必须将此行放在每个 Python 源文件的顶部。
从文档中:
未来语句是对编译器的指令,应使用将在指定的 Python 未来版本中可用的语法或语义来编译特定模块。