繁体   English   中英

无法导入AWS Lambda的请求

[英]Unable to import grequests for AWS Lambda

我正在运行带有Python 2.7运行时的AWS Lambda脚本。 但是,无论何时初始化它都会开始导入grequests库但由于它依赖于gevent而失败:

Gevent is required for grequests.

它似乎成功找到了grequests库(因为它知道它需要gevent)但是失败了。

到目前为止我尝试过的:

pip install --ignore-installed grequests -t .

pip install --ignore-installed grequests -t ./lib

pip install --ignore-installed gevent -t .

pip install --ignore-installed gevent -t ./lib

然后我按照以下说明压缩目录的内容并上传到AWS: http//docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package。 HTML

似乎无论我尝试什么Lambda无法找到gevent ,但它能够找到其他非默认库没有问题。

由于Gevent基于libev,因此很可能在通过pip安装时编译二进制文件。

如果您希望它们在AWS Lambda中可执行,则需要确保部署为Amazon Linux编译的二进制文件。 您可以通过在运行Amazon Linux的EC2实例上构建部署包来实现此目的。

另请参阅此答案本教程

我不得不在Amazon Linux实例上从src构建gevent 如果有人需要,我会将结果文件放在一个zip - 只需将它们包含在您上传的Lambda zip ,您应该像老板一样并发。

https://github.com/brandonmp/aws-lambda-grequests

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM