python - 为什么我在 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 包并运行它而不会丢失依赖项
解决方案
我认为当您尝试将带有部署包的最新版本的 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
推荐阅读
- mysql - 在 ubuntu 20.04 中恢复 mysql
- sql - ORA-00920: 准备好的语句的无效关系运算符错误
- javascript - 将本机数组反应到节列表
- html - 如何从导航栏中删除水平滚动条
- heroku - Heroku 上的 React 应用程序
- pyqt - PIL Image to QImage 崩溃和失真
- flutter - 如何模拟未来的方法而不是获取类型'Null'不是颤振中类型'Future<>'的子类型
- android - 需要将 App Store 链接添加到 Admob 帐户吗?
- java - 如何找到调试 SHA 1 密钥
- php - 发布数组 Laravel 8 - 返回为 NULL 的值