【发布时间】:2015-01-05 01:38:06
【问题描述】:
我喜欢在 Python 2.7 中使用 absolute_import 函数。因为在 Python 2.7 中没有 absolute_import
所以我必须像这样导入它。
from __future__ import absolute_import
在我的 Django 项目中,我有很多文件,例如 models.py, views.py 等等。我必须在每个文件的顶部放置
from __future__ import absolute_import
能够使用此功能。
问题如下:
如果有可能在项目中只导入一次absolute_import 并在任何地方使用它?
【问题讨论】:
-
“只导入一次”到底是什么意思? Python 只导入一个模块一次,除非你明确地
reload()它或使用其他一些花哨的导入函数。 -
但是为什么每个包都需要它呢?在大多数情况下,您使用一种模式或另一种模式没有区别。仅当您有歧义时,这才有意义。
-
我有 Django 项目,我想在每个文件中使用 absolute_import,例如项目中每个模块的
views.py、forms.py等 -
这是一个奇怪的问题。绝对导入是 Python 2.7 的一部分——这个
__future__导入应该只用于Python 2.6 或更低版本(参见PEP328)。您正在导入的符号absolute_import是无用的(它甚至不是一个函数,它是一个类)。您实际上是否在使用 Python 2.6 并且想要absolute_import语义而不必在每个文件中显式“激活”它?你真的不能那样做,例如见stackoverflow.com/questions/13773861/…。
标签: python django python-2.7