python:强制非相对导入?

python:强制非相对导入?,python,module,path,import,importerror,Python,Module,Path,Import,Importerror,我想在我的项目中创建一个名为utils/django.py的模块。在顶部我有一行: from django.db import models 但是,它试图从自身导入,这会导致错误。我知道我可以使用一个带前缀的强制相对导入: from .django.db import models 有没有办法强制非相对导入?没有。您需要显式启用 这是Python2中应该采用的方法。在Python3中,绝对导入是默认的。您也可以重命名该文件。非常不鼓励相对导入,例如,您应该导入myapp.stuff.djan

我想在我的项目中创建一个名为
utils/django.py
的模块。在顶部我有一行:

from django.db import models
但是,它试图从自身导入,这会导致错误。我知道我可以使用一个带前缀的
强制相对导入:

from .django.db import models

有没有办法强制非相对导入?

没有。您需要显式启用


这是Python2中应该采用的方法。在Python3中,绝对导入是默认的。您也可以重命名该文件。非常不鼓励相对导入,例如,您应该导入myapp.stuff.django。听起来好像您正试图从定义的文件中导入类。如果是这样的话,那么您可以直接引用db.models类,而无需导入它。@JochenRitzel,您打算怎么做?是否在模块名称后附加一个数字?下划线?有时,同一个名称是唯一有意义的名称,而你的建议甚至没有试图成为问题的解决方案……值得注意的是,不鼓励的不是相对导入本身,而是隐含导入(缺少引导
)对人类有害。由于这个原因,Python3不允许隐式相对导入。
from __future__ import absolute_import