【发布时间】:2017-10-08 05:30:37
【问题描述】:
我一直在尝试在导入 pandas 的 AWS Lambda 中运行我的代码。这就是我所做的。 我有一个 python 文件,其中包含如下简单代码(此文件具有 lambda 处理程序)
import json
print('Loading function')
import pandas as pd
def lambda_handler(event, context):
return "Welcome to Pandas usage in AWS Lambda"
- 我已将此 python 文件与 numpy、pandas 和 pytz 库一起压缩为部署包(所有这些都在 Amazon EC2 linux 机器中完成)
- 然后将包上传到S3
- 创建了一个 lambda 函数 (runtime=python3.6) 并从 S3 上传了部署包
但是当我在 AWS Lambda 中测试 lambda 函数时,出现以下错误:
Unable to import module 'lambda_function': Missing required dependencies ['numpy']
我已经在压缩包中有 numpy,但我仍然收到此错误。我尝试按照Pandas & AWS Lambda 给出的提示进行操作,但没有成功。
有没有人遇到过同样的问题。希望有任何解决此问题的提示或建议。
谢谢
【问题讨论】:
-
哇,我不知道这这么简单(我一直在用 vanilla python 为 aws lambda 编写我自己的类似 pandas 的助手)。
-
你在那台 amazon linux 机器上编译过 pandas、numpy 等吗?因为你需要在那里编译它们,而不仅仅是 zip。
-
@AdamOwczarczyk 感谢您的回复。我花了很多时间来弄清楚如何编译/构建包。在这次尝试中,我关注了这篇博文 (blog.datapolitan.com/2015/08/25/…)。但还是不走运:(
-
Pandas & AWS Lambda的可能重复
-
对于未来的读者:很多人似乎导入 pandas 或 numpy 来执行琐碎的列表转换,却没有意识到这些库有多大和过度杀伤力。通常,您可以使用现有的 Python 列表功能完全避免它们。使用 AWS Lambda 是一个更好的选择。
标签: python pandas numpy amazon-s3 aws-lambda