我的理解:
假设有一个文件夹 app
- 若 app 下有
app/__init__.py
文件,则此 app 被视作一个 package,而 app 下的其他文件/文件夹被视作 module - 我们知道,package 的意义是作为一个整体,提供某些功能。因此,package 内部的各个 module 之间使用相对路径导入。
- 比如:在 module1.py 内,这样相对导入:
from .module2 import myClass2
- 注意,问题来了,此时不能之间运行 module.py 这个文件,否则会报错:SystemError: Parent module '' not loaded, cannot perform relative import
- 我们只能在package外,也就是文件夹 app 外的 run.py文件中导入:
from app.module2 import myClass2