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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |