1

我有一个简单的 Django 应用程序,它已使用 Zappa 推送到 AWS Lambda。

此过程正常运行,但有一个例外:cannot load library 'pango-1.0': pango-1.0: cannot open shared object file: No such file or directory. Additionally, ctypes.util.find_library() did not manage to locate a library called 'pango-1.0'

我正在使用 Wea​​syprint 生成 PDF 文件。Weasyprint 需要 Cairo 和 Pango。

我不知道如何让 Pango 在我的 AWS Lambda 安装上工作。

我应该怎么做才能让它工作?

4

1 回答 1

1

因此,在多处询问后,我发现我需要 Weasyprint 所需的所有库的静态版本,并且需要将它们推送到我的 zappa 包中。

幸运的是,一个 github 用户上传了一个静态需求的工作仓库:https ://github.com/Prasengupta/weasyprint_for_awslambda

所以我所要做的就是下载它并提取我的 django 应用程序根目录下的所有文件夹(这些文件夹必须与 zappa_settings.json 文件处于同一级别)。

然后我只需要执行一个 zappa update 命令将所有这些文件上传到我的 AWS Lambda 安装,它就成功了!

我的 Django 应用程序现在充满了奇怪的目录,但至少整个工作正常。

于 2018-11-04T17:18:35.547 回答