Импорт fbprophet как лямбда-слоя AWS - PullRequest
0 голосов
/ 06 ноября 2019

Невозможно упаковать fbprophet в слой, который можно импортировать в AWS Lambda. Нужна помощь с этим.

Мой локальный компьютер - Mac с установленной Sierra. Я пытаюсь создать слои для разных библиотек, которые используются в Python 3 как часть серверной архитектуры AWS Lambda. Я успешно упаковал библиотеку Pandas и импортировал ее как слой. Но когда я пытаюсь подобный подход для fbprophet, он терпит неудачу.

Ошибка:

ModuleNotFoundError: No module named 'pystan'

Я использую скрипт, который читает файл требований и устанавливает различные модули, перечисленные там. Вот код для скрипта:

#!/bin/bash

export PKG_DIR="python"

docker run --rm -v $(pwd):/foo -w /foo lambci/lambda:build-python3.6 \
pip install -r requirements.txt -t ${PKG_DIR}

Файл needs.txt выглядит следующим образом: fbprophet == 0.5

Однако, когда я пытаюсь установить fbprophet, он не может сказать:

ModuleNotFoundError: No module named 'pystan'

Я ожидал, что будет установлен fbprophet, который может быть заархивирован и использован как слой на Lambda, но не сможет выйти за пределы текущей точки. Помощь в решении этой проблемы будет высоко ценится! Спасибо.

1 Ответ

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

Выяснилось, что из-за несовместимости компилятора gcc fbprophet не компилировался и не упаковывался в лямбда-слой AWS. Создал виртуальную среду и установил gcc, используя conda, следующим образом:

conda install clang_osx-64 clangxx_osx-64 -c anaconda

Затем, следуя инструкциям в этой статье: https://towardsdatascience.com/how-to-get-fbprophet-work-on-aws-lambda-c3a33a081aaf

Это установило fbprophet, и я смог упаковатьэто и загрузить как лямбда-слой.

...