我正在尝试使用不同的模块构建 Python 项目,并为每个模块设置测试脚本。我的项目目录如下所示:
├── project
│ ├── main.py
├── F1
│ ├── add.py
| └── prin_add.py
main.py
from f1.add import *
if __name__ == "__main__":
add(4,5)
add.py
from print_add import *
def add(a,b):
print_add(a+b)
if __name__ == "__main__":
add(4,5)
print_add.py
def print_add(c):
print(f'sum = {c}')
如果我运行 main.py,我会收到错误 ModuleNotFoundError: No module named 'print_add'
。我认为这是由于模块的绝对路径和相对路径。如何使用相对路径导入模块?如果我在 add.py 文件中使用类似 from .print_add import *
的内容,我会在运行 add.py 文件时得到 ModuleNotFoundError: No module named '__main__.print_add'; '__main__' is not a package
。
构建 Python 模块的最佳实践是什么?我使用的是 Python 3.6,我认为我不需要 init.py 文件。