2016-06-23 20 views
6

Sto provando a creare una funzione lambda AWS per creare una miniatura delle mie immagini caricate. mio script è in esecuzione bene a livello locale, ho seguito questo tutorial di distribuire la mia funzione, ma ho un problema con la libreria Cuscino, anzi quando sto testando la mia funzione posso vedere questo registro seguente:AWS Lambda: come usare la libreria di cuscini?

enter image description here

Ho trovato questo post con lo stesso problema ma nel mio caso non riesco a eseguire la riga di comando sulla macchina.

+0

Soluzione: guarda qui https://github.com/Miserlou/lambda-packages/tree/master/lambda_packages - hanno precompilato pacchetti PIL – AddingColor

risposta

5

È necessario includere lo libjpeg.so nel pacchetto lambda, ma occorrerà anche qualche ritocco con l'utilità patchelf. Supponendo che si prepara il pacchetto lambda tramite "pip installnome-modulo-t" (piuttosto che attraverso virtualenv), effettuare le seguenti operazioni:

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 

Questo script funziona per Pillow versione 3.2.0.

Riguardo a patchelf: sotto Ubuntu può essere 'apt install' ed, ma in altri sistemi Linux potrebbe essere necessario built from source.

+0

È strano, ma funziona solo se aggiungo la seguente riga '' ' sys.path.append ("./ PIL") '' ' –

Problemi correlati