Как использовать Weasyprint с AWS Lambda? (Джанго и Заппа) - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть простое приложение Django, которое было загружено в AWS Lambda с помощью Zappa.

Этот процесс работал правильно, за одним исключением: 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'

Я использую Weasyprint для создания PDF-файлов. Weasyprint нужен Каир и Панго.

Я не знаю, как заставить Pango работать с моей установкой AWS Lambda.

Что я должен сделать, чтобы это работало?

1 Ответ

0 голосов
/ 04 ноября 2018

Итак, после опроса в разных местах, я обнаружил, что мне нужны статические версии всех библиотек, требуемых Weasyprint, и что мне нужно было поместить их в мой пакет zappa.

К счастью, пользователь github загрузил рабочее репозиторий со статическими требованиями: https://github.com/Prasengupta/weasyprint_for_awslambda

Поэтому все, что мне нужно было сделать, это загрузить его и извлечь все папки в корне моего приложения django (папки должны находиться на том же уровне, что и файл zappa_settings.json).

Затем мне просто нужно было выполнить команду обновления zappa, чтобы загрузить все эти файлы в мою установку AWS Lambda, и это сработало!

Мое приложение Django теперь полно странных каталогов, но, по крайней мере, все работает.

...