正如标题所说,我对分装感到困惑。我的包结构如下:
draw \
__init__.py
base \
__init__.py
utils.py
events.py
master.py
basegui.py
现在,draw.base.events
的第一行如下:
draw.base
的第一行是:
from draw.base.events import Event, RenderEvent, InputEvent, MouseEvent, keyboardEvent
只需在IDLE下检查语法错误的代码:
import draw.base as base
给出以下AttributeError
:
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import draw.base
File "Z:\Eigene Dateien\Eigene Dokumente\Python\draw\base\__init__.py", line 4, in <module>
import draw.base.events as events
File "Z:\Eigene Dateien\Eigene Dokumente\Python\draw\base\events.py", line 10, in <module>
import draw.base.utils as _utils
AttributeError: 'module' object has no attribute 'base'
有人能给我解释一下是什么问题吗?在
为了在^{中导入}。您可以将
draw.base.utils
,Python需要导入现在正在导入的draw.base
,因此还没有{import draw.base.utils
替换为import utils
(也可以在2.7、3.x中使用from ..base import utils
或在draw.base.events
中用from __future__ import absolute_import
)来打破圆圈。在相关问题 更多 >
编程相关推荐