首页 > 解决方案 > 包内显式相对导入的问题

问题描述

我遇到了一个非常令人沮丧的语法错误,它出现在以下场景中:

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

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

任何帮助将非常感激!谢谢!

标签: pythonpython-2.7importpython-import

解决方案


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

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

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

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

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


推荐阅读