猿问

AWS Lambda 层

我正在尝试将 Pandas 库导入我的 aws lambda 层。但是给出了一个错误,说不能导入 lambda.function: no module names numpy。

有人可以解释一下pandas和aws有什么问题吗?当我尝试使用 SAM 在 pycharm 上本地运行它时,它会引发相同的错误。


有只小跳蛙
浏览 220回答 2
2回答

九州编程

作为您上传的 zip 文件或代码的一部分,Lambda 的限制为 125 MB,通常 Pandas/Numpy 是可能超过这些限制的巨大库。因此1) 如果使用 Pandas 的代码部分可以用其他 Pythonic 的做事方式 (defaultdict、dict、lists 等) 替换,我建议 2) 您可以尝试压缩依赖项 (pandas 或其他库) pip install with) 在 linux 环境中,因为 Lambdas 在 linux 环境中。您可以关注这篇文章:https : //medium.com/i-like-big-data-and-i-cannot-lie/how-to-create-an-aws-lambda-python-3-6-deployment- package-using-docker-d0e847207dd6 3)你可以按照这个:https : //medium.com/@qtangs/creating-new-aws-lambda-layer-for-python-pandas-library-348b126e9f3e

慕虎7371278

如果您使用AWS Lambda 层,则需要验证您的目录结构是否位于层所需的结构上:例如,对于枕头python 模块,您需要以下结构:aws-lambda-layer.zip│ python│ python/PIL└ python/Pillow-5.3.0.dist-info因此,要创建具有正确结构的层 zip 文件,我们可以在项目的根目录上使用以下命令:mkdir -p python && cp -r <lib_name> python/ && zip -r aws-lambda-layer.zip python
随时随地看视频慕课网APP

相关分类

Python
我要回答