【发布时间】:2016-05-12 01:06:35
【问题描述】:
为了更好地理解它的工作原理,我正在玩 Python 的导入系统,但遇到了另一个问题。我有以下结构
pkg/
__init__.py
c.py
d.py
subpkg/
__init__.py
a.py
b.py
在a.py里面我有如下代码:
from . import b
from .. import d
在c.py 里面我有以下内容:
import subpkg.a
现在我收到以下错误:
ValueError: 尝试相对导入超出顶级包
但是为什么?我该如何解决?我从 IDLE 运行 c.py,pkg 应该被视为一个包,因为它有 __init__.py 文件。
第一次导入工作正常,但以下不起作用:
from .. import d
因为我试图从父包中导入一些东西,但显然我不能,出于某种奇怪的原因。
【问题讨论】: