“无法导入模块'lambda_function':没有名为'pdf2image'的模块”

时间:2020-11-10 16:58:34

标签: aws-lambda python-packaging aws-lambda-layers

我一直在研究Lambda,将pdf转换为png,并使用pdf2image库为我的Lambda创建一个图层。我尝试了许多不同的方法,但似乎对我不起作用。

“ errorMessage”:“无法导入模块'lambda_function':没有名为'pdf2image'的模块”, “ errorType”:“ Runtime.ImportModuleError”

感谢您的帮助!

谢谢

1 个答案:

答案 0 :(得分:0)

因此,您想包括“ pdf2image”库供您的lambda参考。要创建一个层,您需要创建一个包含该代码的目录结构,然后压缩整个目录。可能如下:

/python
    /pdf2image
        __init__.py
        pdf2image.py
        ...

压缩后,该zip文件必须具有“ python”文件夹,并且在其中放置了代码。如果这样做并且还以软件包的形式安装了通用代码,则可以使用相同的导入方式将其导入本地代码和lambda中。

我要做的是使用pip install安装到某个文件位置-然后将其压缩到一个位置。例如,如果我想为pdf2image库制作一层,我可能会做

pip install --target=c:\myLayers\python pdf2image

这会将库文件安装到我指定的位置,这使您很容易知道要压缩的内容(只需创建一个包含“ python”目录的压缩文件)即可。

然后当然要确保您在lambda中引用了该层(按特定版本)。