我的代码需要jinja2库。 AWS lambda函数无法导入模块jinja2
我尝试在virtualenv目录中本地安装jinja2,将其压缩并上传到lambda。
由于大小超过15MB,我无法内联编辑代码,而且测试结果也会引发相同的错误。
答案 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图层上传,并在需要时将其附加。