【问题标题】:Importing Pillow module in Lambda在 Lambda 中导入 Pillow 模块
【发布时间】:2020-04-22 14:06:00
【问题描述】:

我正在尝试安装此博客上显示的 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 .

当我尝试测试功能时:

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

【问题讨论】:

    标签: aws-lambda


    【解决方案1】:

    用pip在这个目录下安装枕头包,像这样。

    pip install Pillow -t .
    

    然后删除existig zip并重新制作。

    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/”目录中

    【讨论】:

    猜你喜欢
    • 2019-03-13
    • 2020-06-08
    • 2020-12-02
    • 2021-01-19
    • 1970-01-01
    • 2018-04-19
    • 2019-02-23
    • 2020-03-30
    • 1970-01-01
    相关资源
    最近更新 更多