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

Airflow同目录DAG导入Python脚本报错,求直接导入解决方案

Airflow同目录Python脚本导入问题

问题场景

  • DAG文件与业务Python脚本处于同一目录,但Airflow运行时触发导入错误,无法识别同目录脚本。
  • 已通过创建commons Python包(setup.py代码如下)临时解决问题,但希望实现无需打包直接导入同目录脚本的方案,目前已找到可行方法。
from setuptools import setup, find_packages

setup(name='commons', version='0.0.6', author='Alexander Brezhnev', author_email='brezhnev.aleksandr@gmail.com',
      packages=find_packages())

直接导入同目录脚本的可行方案

方案:手动将当前目录添加至Python路径

在DAG文件的最开头加入以下代码,将DAG所在目录注入Python的模块搜索路径,之后即可直接导入同目录下的脚本:

import sys
from pathlib import Path

# 获取当前DAG文件的所在目录
current_dir = Path(__file__).resolve().parent
# 将目录添加到Python搜索路径
sys.path.append(str(current_dir))

# 导入同目录下的目标脚本(替换为你的脚本名)
import your_script

原理说明

Airflow的调度器在加载DAG时,默认的Python路径不包含DAG文件所在的目录,导致同目录脚本无法被识别。通过手动添加路径,可以让Python解释器找到同目录下的模块。

内容的提问来源于stack exchange,提问作者Ragnarok-039

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 14:18:09