AWS MWAA中没有名为____的模块错误,即使有requirements.txt



我已经将requirementst.txt上传到dag,并在创建气流环境时引用了它。以下是我的requirements.txt的样子:

apache-airflow==1.10.12
oauth2client==4.1.3
google-api-python-client==2.2.0
Flask-AppBuilder==2.3.3
boto3==1.17.59

然而,我一直得到一个";没有名为oauthclient"的模块;气流环境中的错误。如何检查oauthclient是否已安装,或者Airflow是否没有正确读取我的requirements.txt文件?

提前谢谢。

您不需要重新创建MWAA。MWAA使用版本化的S3存储桶。你的requirements.txt也有版本,如果你不手动制作,请指向最新版本。

只需转到MWAA页面,点击";编辑";,并选择最新版本的requirements.txt。然后它将更新。

更新MWAA中的需求并不简单:

  • 一旦更改了需求文本,就必须重新构建env
  • 在执行此操作之前,请仔细检查以确保在环境创建页面中选择了requirements.txt文件的正确版本
  • 大多数时候,.txt文件的版本是旧的,你必须手动选择最新的
  • 只需编辑和更新现有环境即可安装requirements.txt文件的旧版本

mwaa应该再次读取requirement.txt,如果您通过控制台编辑mwaa配置并按save或从cli运行:aws-mwaa更新环境--name<环境名称>

我通过重新创建环境解决了这个问题。看起来AWS MWAA只运行您的requirements.txt一次,因此您在创建环境后进行的任何更新都不会应用。

相关内容

最新更新