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

Airflow导入MS SQL Hook与Operators报ModuleNotFoundError错误

问题产生原因
  • Airflow 2.0及以上版本把所有第三方系统对接组件(包括各类数据库的Hook、Operator)从核心程序中拆分出来,做成了独立的provider包单独发布。默认执行pip install apache-airflow安装的核心包不包含MSSQL相关的对接代码,直接导入就会报模块不存在的错误。
  • 少数场景是安装provider时选错了运行环境:比如在本地全局Python环境装了MSSQL provider,但Airflow实际运行在虚拟环境、Docker容器或者K8s Pod中,运行环境里没有这个包,一样会触发导入报错。
  • 极低概率是安装的MSSQL provider版本和当前Airflow核心版本不兼容,导致包无法被正常加载。
解决步骤
  1. 先进入Airflow实际运行的Python/容器环境,执行安装命令:
pip install apache-airflow-providers-microsoft-mssql

如果需要匹配当前Airflow版本选兼容的provider版本,可以指定版本号安装,例:pip install apache-airflow-providers-microsoft-mssql==3.5.0
2. 如果你用Docker/Docker-Compose部署Airflow,不要直接进入运行中的容器执行pip安装(容器重启后安装的内容会全部丢失):

  • 用官方docker-compose配置部署的场景,直接修改配置中的_PIP_ADDITIONAL_REQUIREMENTS环境变量,把MSSQL provider包加入依赖列表,之后重启服务会自动完成安装
  • 自定义镜像部署的场景,把apache-airflow-providers-microsoft-mssql写到镜像构建用的requirements.txt文件中,重新构建镜像后启动服务即可
  1. 安装完成后执行验证命令,确认包被Airflow正确识别:
airflow providers list | grep mssql

命令输出如果能看到apache-airflow-providers-microsoft-mssql的对应版本条目,就说明安装成功,重新触发DAG解析就不会再出现导入报错。

注意:如果你还在使用Airflow 1.x版本,MSSQL相关组件的导入路径和2.x版本完全不同,但你当前使用的是2.x标准provider导入路径,只要正确安装对应provider包即可正常使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 11:45:34