包内显式相对导入出现问题

时间:2018-10-12 10:22:43

标签: python python-2.7 import python-import

在以下情况下,我遇到了一个非常令人沮丧的语法错误:

package
    __init__.py
    module1.py
    module2.py

__init__.py包含以下导入:

from . import module1

module1.py包含以下导入:

from . import module2

当我遇到module1.py中的显式相对导入时,我得到了正确的语法错误,因此看来__init__.py中的导入工作正常。

之前,我在导入module1.py的地方进行了以下设置:

from package import module1

哪个工作正常,所以我很困惑为什么会收到此错误...

任何帮助将不胜感激!谢谢!

2 个答案:

答案 0 :(得分:0)

我最终回到了先前的工作状态并从那里重写。问题似乎消失了,因此至少我可以继续前进,但不幸的是我不知道是什么原因造成的。

在重写期间,我确实遇到了类似的问题(语法错误),该问题与尝试从包中的模块中导入函数的方式有关,如下所示:

from . import module.function as name # causes syntax error

from .module import function as name # seems to work correctly

似乎可能涉及到该问题,但是当我最初发布此问题时,这并不是代码的一部分,因此我不确定这是否相关...

答案 1 :(得分:0)

您为什么不只使用import module1import module2?所有3个文件都在同一目录中。