Prima che qualcuno dica "sudo apt-get install libjpeg-dev"
o qualcosa del genere, non ho accesso sudo. Sono su una fetta di un server che NON mi permette di avere accesso sudo. Quindi devo fare tutta questa cosa nella mia directory locale. Questo è l'unico modo in cui posso farlo.IOError: decoder jpeg non disponibile quando si utilizza il cuscino
Ho bisogno di uno script python per ridimensionare un'immagine. Funziona perfettamente bene per i file PNG, ma cade a pezzi sui file jpeg con l'errore elencato nel titolo.
qui sono i passi che ho preso finora:
- scaricato
libjpeg-dev
e installato a$HOME/jpegtest
, quindi all'interno della jpegtest/cartella è lib /, include/e così via - Ho scaricato
Pillow
manualmente ed estratto fuori per$HOME/Pillow
- ho modificato il
setup.py
fild così laJPEG_ROOT
ad unlibinclude(<absolute path to jpegtest>)
ho costruito e compi condotto
Pillow
, dove è installato per$HOME//.pythonbrew/pythons/Python-2.7.5/lib/python2.7/site-packages/Pillow-2.4.0-py2.7-linux-x86_64.egg
La parte importante della produzione è la seguente:*** TKINTER support not available --- JPEG support available *** OPENJPEG (JPEG2000) support not available --- ZLIB (PNG/ZIP) support available *** LIBTIFF support not available *** FREETYPE2 support not available *** LITTLECMS2 support not available *** WEBP support not available *** WEBPMUX support not available
Così potrebbe supporre che questo significa supporto JPEG funzionerà, ma quando eseguo il mio programma si dice:
IOError: decoder jpeg not available
Durante la digitazione questo ho anche notato la questione in Pillow recognizes JPEG encoder on install, but not use, che sembrava molto vicino al mio, così ho provato la soluzione c'è:
ln -s /media/sdl1/home/midnight/jpegtest/lib/libjpeg.so /media/sdl1/home/midnight/.pythonbrew/pythons/Python-2.7.5/lib
Ma ho ancora lo stesso errore.
Ho lavorato a questo problema per circa due giorni, e non sono del tutto sicuro di cosa fare. Se qualcuno potesse offrire assistenza, sarebbe molto utile.
Forse prova 'ldd' come in questa risposta http://stackoverflow.com/a/24397115/162768 e scopri quale percorso sta cercando. –
Sembra che dovresti chiedere a sysadmin di installare le librerie necessarie sulla root del server. – sundance
Sei sicuro che l'interprete Python che stai usando provenga dal tuo setup Pythonbrew e non dal SO di base incluso (che potrebbe avere il Pillow compilato senza supporto JPEG)? – Timusan