Seb*_*cki 5 python numpy amazon-web-services aws-lambda
我正在寻找一种在AWS lambda中使用numpy的方法.我没有使用EC2只是为了这个,所以如果有人有一个建议,我会感激.目前收到错误:
无法导入名称'multiarray'
使用grunt lambda创建zip文件并上传功能代码.所有我使用模块被安装到lambda函数,其包括使用numpy的PIP安装和requirements.txt文件的根内的文件夹中称为python_modules.
use*_*r_5 11
让 lambda 函数支持 python 3.7 的 numpy 库的简单方法:
现在您的 lambda 函数已准备好支持 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)source 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(上传到 AWS)
您的 lambda 函数现在应该能够毫无问题地导入 numpy。
如果您想要更开箱即用的解决方案,您可以考虑使用无服务器来部署您的 lambda 函数。在找到上述解决方案之前,我遵循了此处的指南,并且能够在 python3.6 lambda 函数中成功运行 numpy。
| 归档时间: |
|
| 查看次数: |
2309 次 |
| 最近记录: |