导入语句不';在Python3.3中不能像预期的那样工作

导入语句不';在Python3.3中不能像预期的那样工作,python,python-2.7,python-3.x,python-import,Python,Python 2.7,Python 3.x,Python Import,我最近用Django1.6b1将django应用程序从Python2.7移植到Python3.3 我的导入语句不再适用于自定义模块导入(用户、视图…),我必须在这些导入之前添加一个点。为什么? 例如: import EmailUser #worked with python 2.7 but doesn't work with 3.3 import .EmailUser #works 不是虫子;Python3强制显式相对导入 从: 相对导入的唯一可接受语法是来自。[module]

我最近用Django1.6b1将django应用程序从Python2.7移植到Python3.3

我的导入语句不再适用于自定义模块导入(用户、视图…),我必须在这些导入之前添加一个点。为什么?

例如:

import EmailUser #worked with python 2.7 but doesn't work with 3.3    
import .EmailUser #works    

不是虫子;Python3强制显式相对导入

从:

相对导入的唯一可接受语法是来自。[module] 导入名称。所有不以
开头的导入表单都解释为 绝对进口。()

另外,
import.EmailUser
在任何Python版本中都是无效语法;它必须是来自的
。导入EmailUser

这是因为“绝对导入”,即不以开头的导入。是绝对的,必须在模块路径中找到。在Python2.6、2.7中,您可以通过执行以下操作逐个文件地启用此功能

from __future__ import absolute_import

谢谢你的解释。我帮了我很多。谢谢:我不知道。