【问题标题】:Pytest <> Apache airflow ImportErrorPytest <> Apache 气流 ImportError
【发布时间】: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


    【解决方案1】:

    将您的测试移动到“dags”并使用 .airflowignore 将测试文件夹排除在扫描之外

    【讨论】:

      猜你喜欢
      • 2021-04-01
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多