Импортировать модуль Python в AWS Lambda - PullRequest
0 голосов
/ 19 сентября 2018

Я выполнил все шаги в документации: https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

  1. создать каталог.

  2. Сохраните все исходные файлы Python (файлы .py) на корневом уровне этого каталога.

  3. Установите все библиотеки с помощью pipна корневом уровне каталога.

  4. Zip содержимое каталога project-dir)

Но после того, как я загрузил zip-файл лямбда функция, я получаю сообщение об ошибке при тестировании сценария

мой код:

    import psycopg2
    #my code...

ошибка:

    Unable to import module 'myfilemane': No module named 'psycopg2._psycopg'

Я не знаю, где суффикс '_psycopg' от ...

Любая помощь по этому поводу?

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Вы используете нативные библиотеки с лямбдой.У нас была похожая проблема, и вот как мы ее решили.

Вращайте машину с поддерживаемым AWS AMI, который запускает вашу настоящую лямбду.

https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html

Как написано

Имя AMI: amzn-ami-hvm-2017.03.1.20170812-x86_64-gp2

Полная документация по установке нативных модулей для вашего python lambda.

https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

Установите необходимые модули, необходимые для вашей лямбды,

pip install module-name -t / path / to / project-dir

и подготовьте свой пакет для загрузки вместе с собственными модулями в среде lambda ami.

Надеюсь, это поможет.

0 голосов
/ 19 сентября 2018

Я считаю, что это вызвано тем, что psycopg2 необходимо собрать скомпилированным со статически связанными библиотеками для Linux.Пожалуйста, обратитесь Использование psycopg2 с Lambda для обновления Redshift (Python) для получения более подробной информации по этому вопросу.Еще одна [ссылка] [1] о проблемах компиляции psycopg2 на OSX.

Существует несколько решений, но в основном все сводится к установке библиотеки на компьютере с Linux и использованию ее в качестве библиотеки Psycopg2 в вашем пакете для выгрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...