El decodificador JPEG no está disponible cuando se sigue el tutorial de la aplicación de fotos Django

Estoy siguiendo un tutorial de Django que involucra la carga de imágenes, y me he encontrado con este problema. Intenté instalar y reinstalar PIL, libjpeg y libfreetype6 varias veces, pero hasta ahora nada parece estar funcionando. He pasado varias horas tratando de encontrar una solución, y estoy muy frustrado en este punto. Por favor ayuda.

Aquí está el resultado de selftest.py después de reinstalar PIL en mi mac:

PIL 1.1.6 BUILD SUMMARY -------------------------------------------------------------------- version 1.1.6 platform darwin 2.7.3 (v2.7.3:70274d53c1dd, Apr 9 2012, 20:52:43) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] -------------------------------------------------------------------- --- TKINTER support ok *** JPEG support not available --- ZLIB (PNG/ZIP) support ok *** FREETYPE2 support not available -------------------------------------------------------------------- To add a missing option, make sure you have the required library, and set the corresponding ROOT variable in the setup.py script. To check the build, run the selftest.py script. rrdhcp-10-32-44-157:Imaging-1.1.6 pfg$ python selftest.py ***************************************************************** Failure in example: _info(Image.open("Images/lena.jpg")) from line #24 of selftest.testimage Exception raised: Traceback (most recent call last): File "./doctest.py", line 499, in _run_examples_inner exec compile(source, "", "single") in globs File "", line 1, in  File "./selftest.py", line 22, in _info im.load() File "PIL/ImageFile.py", line 180, in load d = Image._getdecoder(self.mode, d, a, self.decoderconfig) File "PIL/Image.py", line 375, in _getdecoder raise IOError("decoder %s not available" % decoder_name) IOError: decoder jpeg not available 1 items had failures: 1 of 57 in selftest.testimage ***Test Failed*** 1 failures. *** 1 tests of 57 failed. 

Hay varios casos con PIL que conducen a una experiencia similar. Si ha instalado PIL de un virtualenv usando

 pip install PIL 

Entonces deberías haber instalado las versiones dev de libjpeg, libz antes. Suponiendo que estás en una caja de Ubuntu, un

 pip uninstall PIL apt-get install libjpeg-dev zlib1g-dev libpng12-dev pip install PIL 

debería bastar También puede instalar Pillow en lugar de PIL, funciona mejor con setuptools y se puede instalar en un virtualenv.

Encontré que esto funcionó bien para mí:

 pip uninstall PIL pip install Pillow 

Luego reinicié el servidor:

 kill -HUP XXX 

donde XXX es el ID de proceso del proceso de su servidor.

Ya estaba usando Pillow y obtuve el mismo error. Se intentó instalar libjpeg o libjpeg-dev según lo sugerido por otros, pero se le dijo que ya se había instalado una versión (más nueva).

Al final, todo lo que hizo falta fue reinstalar Pillow :

 sudo pip uninstall Pillow sudo pip install Pillow 

En caso de que esté utilizando Fedora, por favor, hágalo antes de instalar una almohada:

 yum install libjpeg-devel zlib1g-devel libpng12-devel