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

Airflow v2.9升级报错:找不到airflow.providers.microsoft模块

解决Airflow 2.9升级后ModuleNotFoundError: No module named 'airflow.providers.microsoft'问题

核心原因

Airflow 2.3+版本对Microsoft Azure Provider的模块结构做了调整,旧版本中airflow.providers.microsoft.azure.log.wasb_task_handler.WasbTaskHandler的路径已废弃,同时provider包的版本兼容性要求更严格,直接安装旧版本provider会导致路径不匹配。

具体解决步骤

  • 修正配置文件中的日志处理器路径
    打开airflow.cfg,找到remote_task_log_handler配置项,将旧路径:

    remote_task_log_handler = airflow.providers.microsoft.azure.log.wasb_task_handler.WasbTaskHandler
    

    修改为新版本的正确路径:

    remote_task_log_handler = airflow.providers.microsoft.azure.log.wasb.WasbTaskHandler
    

    同时检查所有引用旧模块路径的配置(如自定义插件、DAG文件),统一替换为新路径。

  • 安装适配Airflow 2.9的Microsoft Azure Provider版本
    Airflow 2.9要求apache-airflow-providers-microsoft-azure版本至少为8.0.0(推荐安装最新兼容版本)。如果是自定义Docker镜像,在Dockerfile中添加:

    RUN pip install apache-airflow-providers-microsoft-azure>=8.0.0
    

    若使用官方Airflow镜像启动容器,可通过命令临时安装(建议写入Dockerfile以持久化):

    docker exec -it <airflow-container-name> pip install apache-airflow-providers-microsoft-azure>=8.0.0
    
  • 验证Provider安装与路径有效性
    进入Airflow容器,执行以下命令验证:

    1. 确认provider版本:
      pip list | grep apache-airflow-providers-microsoft-azure
      
    2. 验证模块导入是否正常:
      python -c "from airflow.providers.microsoft.azure.log.wasb import WasbTaskHandler; print('导入成功')"
      
      若输出"导入成功",说明路径和安装都没问题。
  • 清理缓存并重启服务
    删除容器内的Python编译缓存(避免旧路径残留):

    find /opt/airflow -name "*.pyc" -delete
    

    然后重启Airflow所有服务:

    docker-compose restart airflow-webserver airflow-scheduler airflow-worker
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 06:23:15