首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS Lambda和python numpy模块

AWS Lambda和python numpy模块
EN

Stack Overflow用户
提问于 2017-05-09 09:11:41
回答 5查看 2.1K关注 0票数 1

我正在尝试在aws lambda中导入python部署包。python代码使用numpy。我遵循了虚拟环境的部署包说明,但它仍然给出了缺少的必需依赖项'numpy‘。我按照stack overflow上给出的说明操作(跳过共享库的步骤4,找不到任何共享库),但没有成功。有什么建议可以让它工作吗?

EN

回答 5

Stack Overflow用户

发布于 2018-08-31 17:20:17

最简单的方法是使用亚马逊网络服务Cloud9,不需要启动EC2实例和准备部署包。

步骤1:启动Cloud9集成开发环境

  • 转到亚马逊网络服务控制台,选择Cloud9 Cloud9环境
  • enter Name
  • 环境设置(请考虑使用t2。小实例类型,默认情况下,我有时在重新启动环境时会遇到问题)
  • 查看

<代码>H111单击创建环境<代码>H212<代码>F213

步骤2:创建Lambda函数

IDE Select runtime (Python3.6)和blueprint (empty-python)

  • Function trigger (none)

  • Create无服务器应用程序(让defaults)

  • Finish

  • wait保持几秒钟,以便打开

步骤3:安装Numpy

  • 在屏幕底部有一个命令提示符
  • 转到应用程序文件夹,对我来说,这是

cd应用程序

  • 安装包(我们必须使用虚拟环境中的pip,因为默认的pip指向/usr/bin/pip,这是python2.7)

venv/bin/pip安装numpy -t。

Step4:测试安装

  • 您可以通过编辑lambda_function.py文件来测试安装:

将numpy导入为np def lambda_handler(event,context):返回更改并单击屏幕顶部的绿色Run按钮

  • 应该会出现一个新选项卡,在Lambda执行I get后,现在单击选项卡

  • 中的绿色Run按钮:

响应0.8414709848078965

步骤5:部署Lambda函数

在屏幕右侧选择您的Lambda function

  • click向上指向的箭头以
  • 转到AWS Lambda服务选项卡
  • Lambda函数应可见,名称格式为

cloud9-ApplicationName-FunctionName-RandomString

票数 1
EN

Stack Overflow用户

发布于 2018-03-19 15:56:34

使用Numpy真的很痛苦。

Numpy需要在运行时在相同的操作系统上正确编译。这意味着您需要在AMI镜像上安装/编译Numpy,以便它在Lambda中正常运行。

要做到这一点,最简单的方法是启动一个小EC2实例并将其安装在那里。然后复制编译后的文件(从/usr/lib/python/site-package/numpy)。这些是您需要包含在Lambda包中的文件。

我相信您也可以使用serverless工具来实现这一点。

票数 0
EN

Stack Overflow用户

发布于 2018-05-10 18:25:56

NumPy必须在运行它的平台上编译。最简单的方法是使用Docker。Docker有一个lambda容器。使用lambda容器在Docker中本地编译NumPy,然后推送到AWS lambda。

如果您想要一个简单的解决方案,serverless框架可以为您处理所有这些问题。请参阅https://stackoverflow.com/a/50027031/1085343

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43859497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档