我正在根据此前发布的问题开展工作: module importing itself
本质上,该问题已解决,但在“modulename.py”文件中,定义了一个类,其中包含init函数和ui函数。在课堂内,任何形式的行:
import submodule
功能就好了。然而..
import submodule.subsubmodule
或
import subsubmodule
会产生ImportError。
所有子模块和子子模块都有
__init__.py
文件。
答案 0 :(得分:0)
如果包中有多个具有相同名称的模块,通常会发生这种情况。
例如,考虑:
mypkg/
__init__.py
toplevel.py
mypkg.py
如果toplevel.py
文件调用import mypkg.mypkg
,它实际上会导入mypkg.py
文件而不该软件包。
您可以通过在from __future__ import absolute_import
中添加toplevel.py
作为第一行来解决此问题,这将强制它导入顶级包。
或者,您可以在from . import mypkg
中使用toplevel.py
,mypkg.py
将明确导入{{1}}文件。