MWAA安装apache-airflow-providers-google后出现ModuleNotFoundError如何解决
问题根因
- 版本不兼容:
apache-airflow-providers-google==6.0.0最低要求Apache Airflow版本为2.2.0,你当前使用的Airflow 2.0.2完全不支持该版本的google provider,这是报错的核心原因 - 依赖声明不规范:分开写两行
apache-airflow[postgres]==2.0.2和apache-airflow[mysql]==2.0.2会触发依赖解析冲突,多个扩展包应该合并在同一行声明 - MWAA适配规则限制:AWS MWAA对预装依赖、自定义依赖的版本有严格校验,不符合版本要求的依赖会被直接跳过安装,你当前版本不匹配的google provider就属于被跳过的情况,因此Airflow运行时找不到对应模块
解决方案
步骤1:匹配兼容版本
如果你要继续使用Airflow 2.0.2,需要将google provider降级到兼容版本apache-airflow-providers-google==2.0.0,这是官方支持Airflow 2.0.x的最高版本;如果你需要使用更高版本google provider的功能,需要先将MWAA环境升级到Airflow 2.2及以上版本。
步骤2:修正requirements.txt写法
调整后的参考配置如下:
apache-airflow[postgres,mysql]==2.0.2 apache-airflow-providers-google==2.0.0 sqlalchemy==1.3.24 google-api-python-client==2.27.0 google-auth-httplib2==0.1.0 google-auth-oauthlib==0.4.6 sentry-sdk
步骤3:验证安装
更新requirements.txt后重新发布MWAA环境,发布完成后可在环境详情页查看依赖安装日志,确认apache-airflow-providers-google无安装报错,再测试DAG即可解决模块找不到的问题。
内容的提问来源于stack exchange,提问作者BoIde
相关产品推荐
相关产品推荐

