【发布时间】:2012-02-25 17:47:04
【问题描述】:
可能重复:
How to properly use relative or absolute imports in Python modules?
我有这个文件布局,如下例所示: (在这里下载:http://www.mediafire.com/?oug42nzvxrvoms4) http://www.python.org/dev/peps/pep-0328/#guido-s-decision
moduleX 包含:
from .moduleY import spam
from .moduleY import spam as ham
from . import moduleY
from ..subpackage1 import moduleY
from ..subpackage2.moduleZ import eggs
from ..moduleA import foo
from ...package import bar
from ...sys import path
这就是发生的事情:
C:\package\subpackage1>python moduleX.py
Traceback (most recent call last):
File "moduleX.py", line 1, in <module>
from .moduleY import spam
ValueError: Attempted relative import in non-package
我有 python 2.7.2。我有
__init__.py
每个目录中的文件。 为什么这段代码不起作用?
【问题讨论】:
-
我发现这个问答比被标记为重复的那个更有用。
-
机器人重复标注器 ;-)