You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow项目执行pytest时出现ModuleNotFoundError问题求助

解决Airflow项目pytest测试时ModuleNotFoundError问题
  • 配置pytest路径:在项目根目录创建conftest.py文件,写入以下代码强制将项目根目录加入Python搜索路径:

    import sys
    from pathlib import Path
    
    sys.path.insert(0, str(Path(__file__).parent))
    

    这能绕过Airflow环境变量对pytest路径的限制,直接让测试用例找到项目内的自定义模块。

  • 检查airflow.cfg核心配置:确认core.dags_folder指向项目的DAG目录(如./dags),同时保证common等自定义模块所在目录在项目根目录下,且每个子目录都包含空的__init__.py文件(符合Python包结构要求)。

  • 验证Airflow版本兼容性:运行pip freeze | grep apache-airflow查看当前版本,不同版本的模块加载逻辑有差异(比如2.x和1.x的导入规则不同),确保自定义模块的导入方式与当前Airflow版本匹配,统一使用绝对导入(如from common.utils import xxx)。

  • 区分Airflow与pytest环境:先执行airflow dags list验证Airflow本身能否识别自定义模块,如果该命令也报错,说明是Airflow配置问题;若Airflow正常,则检查pytest.ini或pyproject.toml中是否有覆盖路径的配置,避免其干扰项目根目录的路径识别。

内容的提问来源于stack exchange,提问作者Adrien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 01:17:03