我正在尝试安装一个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/"目录中