【发布时间】:2017-02-16 02:48:56
【问题描述】:
所以我试图从导入其子包的包中导入一个模块。这是示例代码:
main_directory
- main.py
subdirectory
- __init__.py
- test.py
subsubdirectory
- __init__.py
- test2.py
main.py:
from subdirectory import test
test.foo1()
test.py:
from subsubdirectory import test2
def foo1():
print("foo1")
test2.foo2()
test2.py:
def foo2():
print("foo2")
在这种情况下,如果我改变了
from subsubdirectory import test2
到
from .subsubdirectory import test2
它有效,因为我猜它是直接路径? 但是当我移动到我的子目录并运行 python3 test.py 时,它会抛出错误:
ModuleNotFoundError: No module named '__main__.subsubdirectory'; '__main__' is not a package
你能解释一下发生了什么吗?
【问题讨论】:
标签: python python-3.x module packages