在 Lambda 中导入枕头模块



我正在尝试安装一个lambda函数,如本博客所示...

https://www.obytes.com/blog/image-resizing-on-the-fly-with-aws-lambda-api-gateway-and-s3-storage

我按照这些步骤操作,上传了zip文件并收到错误。

git clone https://github.com/obytes/resize_s3_images.git
cd resize_s3_images/
wget https://pypi.fcio.net/packages/14/41/db6dec65ddbc176a59b89485e8cc136a433ed9c6397b6bfe2cd38412051e/Pillow-6.1.0-cp36-cp36m-manylinux1_x86_64.whl
unzip Pillow-6.1.0-cp36-cp36m-manylinux1_x86_64.whl && rm Pillow-6.1.0-cp36-cp36m-manylinux1_x86_64.whl
zip -r resize_s3_images.zip .

当我尝试测试该功能时:

{ "错误消息": "无法导入模块'resize_s3_images': 无法从"PIL"(/var/task/PIL/init.py(导入名称"_imaging", "errorType": "Runtime.ImportModuleError" }

像这样在这个目录中安装带有pip的枕头包。

pip install Pillow -t .

然后删除现有的拉链并再次制作。

rm -rf resize_s3_images.zip
zip -r resize_s3_images.zip .

像这样从 pil 导入图像

from PIL import Image

如果仍然有问题,请使用lambda层或使用os.system('cp <folder_name> /tmp/dependencies/)将代码移动到"/tmp/dependencies/"目录中

最新更新