首页 > 解决方案 > 为什么我在 python 中部署包时缺少 aws lambda 中的依赖项?

问题描述

尝试使用 Python 的 AWS Lambda 部署包。将所有导入安装在我的 python 脚本所在的文件夹中。所有导入都在 Python 中工作,但在将 .zip 文件上传到 AWS Lambda 并尝试运行时出现错误,我缺少一些依赖项。

错误消息https://imgur.com/a/gu8JHKt显示我缺少哪些依赖项的错误

我已经尝试在 python37-32/lib/site-packages 中的文件夹内和全局重新安装“numpy”和“pandas”......但没有帮助

import boto3
import os,sys
import base64
import binascii
import pandas as pd
import pyarrow as pa
import pyarrow.parquet as pq
from ASNDEF import *
from pyasn1.codec.ber.decoder import decode as ber_decoder

def Decoder(event=None,context=None):
    return {'hello':'123'}

期望在 AWS Lambda 中上传 python 包并运行它而不会丢失依赖项

标签: pythonaws-lambdapython-packaging

解决方案


我认为当您尝试将带有部署包的最新版本的 numpy 上传到 lambda 函数时存在一些问题。

我使用这个 git 链接 - https://github.com/pbegle/aws-lambda-py3.6-pandas-numpy/blob/master/lambda.zip下载 numpy、pandas 库并将其与其他所需的文件一起压缩python 库和我的 lambda_function.py 文件,它对我有用。

注意:截至目前,部署包提取版本的大小限制为 250 MB


推荐阅读