Как я могу импортировать панд на AWS лямбда? - PullRequest
0 голосов
/ 09 ноября 2019

Я получил ошибку, когда пытался импортировать панд. Я создал слой, загрузив мои упакованные панды в архиве (из окон). Я думаю, это потому, что я заархивировал свой пакет в Windows, у меня нет правильной структуры (та же самая структура, которую я мог бы получить в Linux, если ZIP-файл). Я прочитал много учебников, но все они основаны на Mac или Linux, у кого-то есть идея, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 10 ноября 2019

Я сделал такую ​​работу. Запустите EC2 с AWS Linux2, а затем с помощью python3 создайте панды venv и pip.

python3 -m venv / path / to / new / virtual / environment https://docs.python.org/3/library/venv.html

Если панды и их зависимости являются собственными, они будут созданы. Вероятно, поэтому архив, созданный в окне Windows, потерпел неудачу. Мой сбой состоял в том, что я создал venv с зависимостями от OSX, который также нельзя использовать в AWS Linux: -D

Возможно, вам потребуется установить пакет разработки.

yum groupinstall "Инструменты разработки"

Следуйте приведенным здесь инструкциям для создания zip-файла: https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

Возьмите zip-файл и сохраните его на S3.

По мере обновления основноголямбда-функция, вытащите zip из S3 и обновите ваш zip и нажмите lambda

Если нужны новые пакеты, пересоздайте базовый zip, который хранится на S3.

Я написал код, чтобы сделать всеэто для работы. Поэтому я не могу просто предоставить написанный мной питон, который имеет дело со всем этим. Так как, работа.

Если вы хотите собрать и протестировать это в докере, используйте этот образ: https://github.com/lambci/docker-lambda

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