python – 在AWS Lambda中使用numpy

前端之家收集整理的这篇文章主要介绍了python – 在AWS Lambda中使用numpy前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在寻找一种在AWS lambda中使用numpy的方法.我没有使用EC2只是为了这个,所以如果有人有一个建议,我会感激.目前收到错误

无法导入名称’multiarray’

使用grunt lambda创建zip文件上传功能代码.我使用的所有模块都安装在lambda函数根目录下的python_modules文件夹中,该文件夹包含使用pip install和requirements.txt文件的numpy.

最佳答案
更新以在此处包含解决方案,而不是链接

经过努力,我发现我必须在python3.6 virtualenv中创建我的部署包,而不是直接从主机创建.我在Ubuntu 16.04 docker镜像中做了以下操作.这假设您已经安装/配置了python3.6,virtualenv和awscli,并且您的lambda函数代码位于〜/ lambda_code目录中:

1)cd~(我们将在主目录中构建virtualenv)

2)virtualenv venv –python = python3.6(创建虚拟环境)

3)源venv / bin / activate(激活虚拟环境)

4)pip install numpy

5)cp -r~ / venv / lib / python3.6 / site-packages / *〜/ lambda_code(将所有已安装的软件包复制到lambda_code目录的根级别.这将包含一些不必要的文件,但你可以自己删除需要)

6)cd~ / lambda_code

7)zip -r9~ / package.zip. (拉上lambda包)

8)aws lambda update-function-code –function-name my_lambda_function –zip-file fileb://〜/ package.zip(Upload to AWS)

你的lambda函数现在应该可以导入numpy而没有任何问题.

如果您想要一个更开箱即用的解决方案,您可以考虑使用无服务器来部署您的lambda函数.在我找到上述解决方案之前,我按照指南here进行了操作,并且能够在python3.6 lambda函数中成功运行numpy.

猜你在找的Python相关文章