【发布时间】:2021-12-09 06:46:12
【问题描述】:
airflow 的项目结构如下所示(每个文件夹中都有 init.py):
/dags
/dagA.py
/dagB.py
/utils
/custom_operator.py
...
/tests
/test1.py
...
dags 中的导入如下所示:
from utils.A.B import C
这适用于气流,但在运行 pytest 时:
python3 -m pytest tests/*
我在 dags 中收到 import/ModuleNotFound 错误。但是当我切换到这些导入时:
from dags.utils.A.B import C
pytests 运行没有任何错误,但我在气流环境中遇到类似的错误。
如何以不同的方式运行 pytest,以免发生这些导入问题(不更改 dags 中的实际气流代码)?
我尝试了相对导入,但是从父目录导入时它有自己的一组错误,并且没有在线解决方案完全有效(除了有人说使用绝对导入,这让我回到了第一题)。
【问题讨论】:
标签: python pytest airflow python-import importerror