2016-06-23 3 views
6

Я пытаюсь создать функцию лямбда AWS, чтобы создать эскиз моих загруженных изображений. Мой сценарий работает хорошо локально, я последовал этому tutorial развернуть свою функцию, но у меня есть проблема с библиотекой подушки, на самом деле, когда я проверяю свою функцию я вижу этот следующий журнал:AWS Lambda: Как использовать библиотеку подушек?

enter image description here

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

+0

Решение: посмотрите здесь https://github.com/Miserlou/lambda-packages/tree/master/lambda_packages - у них есть предварительно скомпилированные пакеты PIL – AddingColor

ответ

5

Вы должны включить libjpeg.so в свой лямбда-пакет, но также потребуется некоторая настройка с помощью утилиты patchelf. Предполагая, что вы готовите пакет лямбды с помощью «pip installмодуля-имени-t» (а не через virtualenv), сделайте следующее:

cd into/your/local/lambda/package/dir 
cp -L $(ldd PIL/_imaging.so|grep libjpeg|awk '{print $3}') PIL/ 
patchelf --set-rpath PIL PIL/_imaging.so 
# zip, deploy and test the package 

Этого скрипт работает для Ортопедических версий 3.2.0.

Относительно patchelf: под Ubuntu это может быть 'apt install' ed, но под другими Linux, возможно, должно быть built from source.

+0

Это странно, но работает, только если я добавлю следующую строку '' ' sys.path.append ("./ PIL") '' ' –

Смежные вопросы