Airflow 2.0安装DAG依赖插件提示cannot import name 'conf'错误求解
报错根因
Airflow 2.0+ 已经完全移除了airflow顶级包下的conf导出入口,旧版本1.10.x支持的from airflow import conf写法在2.0及以上版本不再兼容。你使用的第三方DAG依赖插件默认适配的是Airflow 1.x版本,插件内部使用了旧版导入逻辑才会触发该报错。
可行解决方案
- 方案1:修改插件内部的导入语句
找到插件源码中所有from airflow import conf的写法,统一替换为from airflow.configuration import conf,其余调用conf的逻辑不需要做任何修改,即可适配Airflow 2.0版本的导入规则。 - 方案2:临时兼容补丁(无需修改插件源码)
在你项目的DAG目录根目录的__init__.py中添加如下代码,给airflow包临时补一个conf的导出入口:
该方案不需要改动第三方插件的源码,Airflow加载DAG时会自动注入该兼容逻辑。import sys from airflow import configuration sys.modules['airflow'].conf = configuration.conf - 方案3:升级适配Airflow 2.x版本的插件
如果你使用的DAG依赖插件有后续更新的2.x适配版本,直接升级到对应版本即可从官方层面解决导入兼容问题。
验证修复效果
修改完成后执行如下命令检查是否还存在导入报错:
airflow dags list
如果命令正常输出DAG列表无报错,说明修复生效。
内容的提问来源于stack exchange,提问作者Ravi
相关产品推荐
相关产品推荐

