在AWS Lambda中安装软件包

时间:2019-10-22 12:30:34

标签: amazon-web-services aws-lambda

我的代码需要jinja2库。 AWS lambda函数无法导入模块jinja2

我尝试在virtualenv目录中本地安装jinja2,将其压缩并上传到lambda。

由于大小超过15MB,我无法内联编辑代码,而且测试结果也会引发相同的错误。

1 个答案:

答案 0 :(得分:0)

您最好的选择是将Jinja2打包为lambda层并将其附加到您的代码中 这里概述了完成此操作的过程:https://nordcloud.com/lambda-layers-for-python-runtime/,但例如,与您的python lambda分开,您将创建一个目录jinja2_layer

pipenv --python 3.6
pipenv shell
pipenv install jinja2
PY_DIR='build/python/lib/python3.6/site-packages' 
mkdir -p $PY_DIR     #Create temporary build directory
pipenv lock -r > requirements.txt    #Generate requirements file
pip install -r requirements.txt --no-deps -t $PY_DIR    #Install packages 
cd build
zip -r ../jinja2_layer.zip .    #Zip files
cd ..
rm -r build    #Remove temporary directory

最终将得到一个jinja2_layer目录,其中包含以下文件: Pipfile Pipfile.lock jinja2_layer.zip requirements.txt 只需将jinja2_layer.zip作为lambda图层上传,并在需要时将其附加。