如何在Lambda层中安装Python包?

问题描述 投票:0回答:1

我一直在尝试使用 Lambda 构建一个小型 Post API 网关。它需要其他包依赖项,例如 xlsxwriter ...因此我创建了一个包含包的 Zip 文件并创建了 Layer,然后只需添加它并将其与 Lambda 一起使用,但我总是遇到此错误:“无法导入模块 'lambda_function ':没有名为'xlsxwriter'的模块”, 有人可以帮我出路吗? 提前谢谢了

python lambda aws-lambda
1个回答
0
投票

您可以使用 lambda 层在 lambda 中使用您需要的任何 python 包。

  1. 已安装所需版本的Python
❯ python3 --version
Python 3.12.2
  1. 为包创建一个文件夹并将 cd 放入其中
mkdir py_packages
cd py_packages
  1. 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
  1. 创建一个python文件夹。这是包含所有文件的文件夹。
mkdir python
cd python
  1. 安装请求包。您可以安装您选择的任何软件包。
pip install requests -t . 
  1. 让我们节省空间并从文件夹中删除扩展名为“.dis-info”的对象。不需要它们。
rm -rf *dist-info
  1. 压缩文件夹以上传到 aws lambda 层
cd ..
zip -r requets-package.zip python
  1. 如果是小包,上传到S3可以直接通过lambda层控制台上传
aws s3 cp requets-package.zip s3://s3-bucket-name/

现在您可以创建新的 lambda 层或新版本,并使用此 zip 文件 URL 或从本地系统上传。并附加到 lambda 来访问包。

© www.soinside.com 2019 - 2024. All rights reserved.