2016-06-23 22 views
6

Tôi đang cố gắng tạo một hàm lambda AWS để tạo hình thu nhỏ của các hình ảnh đã tải lên của tôi. Kịch bản của tôi đang chạy tốt tại địa phương, tôi theo tutorial này để triển khai chức năng của tôi, nhưng tôi có một vấn đề với các thư viện Gối, thực sự khi tôi đang thử nghiệm chức năng của tôi, tôi có thể thấy log sau này:AWS Lambda: Cách sử dụng thư viện Pillow?

enter image description here

Tôi tìm thấy điều này post với cùng một vấn đề nhưng trong trường hợp của tôi tôi không thể thực thi dòng lệnh trên máy.

+0

Giải pháp: xem tại đây https://github.com/Miserlou/lambda-packages/tree/master/lambda_packages - họ đã biên dịch sẵn gói PIL – AddingColor

Trả lời

5

Bạn phải bao gồm libjpeg.so trong gói lambda của mình, nhưng nó cũng sẽ yêu cầu một số tinh chỉnh với tiện ích patchelf. Giả sử rằng bạn chuẩn bị gói lambda qua "pip installmô-đun-tên-t" (chứ không phải qua virtualenv), làm như sau:

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 

Kịch bản này làm việc cho Gối phiên bản 3.2.0.

Liên quan đến patchelf: dưới Ubuntu, có thể là 'apt install' ed, nhưng trong các Linux khác, có thể cần phải là built from source.

+0

Thật lạ lùng, nhưng nó chỉ hoạt động nếu tôi thêm dòng sau đây '' ' sys.path.append ("./ PIL") '' ' –

Các vấn đề liên quan