Python3如何导入导入subsubdirectory文件的子目录文件?

时间:2017-02-16 02:48:57

标签: python python-3.x module packages

所以我试图从导入其子包的包中导入一个模块。以下是示例代码:

from subsubdirectory import test2

在这种情况下,如果我改变

from .subsubdirectory import test2

ModuleNotFoundError: No module named '__main__.subsubdirectory'; '__main__' is not a package

它起作用,因为我猜它的直接路径? 但是,当我移动到我的子目录并运行python3 test.py时,它将抛出错误:

{{1}}

你能解释一下发生了什么吗?

1 个答案:

答案 0 :(得分:0)

如果要使用相对导入,则必须以包的方式运行脚本。

由于__init__.py中没有main_directory,因此包subdirectory

cd ./main_directory/
python -m subdirectory.test
python -m subdirectory.subsubdirectory.test2

如果您希望main_directory成为软件包名称,则必须在__init__.py中添加main_directory,然后运行脚本:

cd ./main_directory/../
python -m main_directory.subdirectory.test
python -m main_directory.subdirectory.subsubdirectory.test2
相关问题