[Image-SIG] Jpeg not working correctly with Python 2.7 and PIL

Brian ewadac at hotmail.com
Thu Apr 12 16:04:17 CEST 2012


Hello - I've spent the better part of the last day re-installing python 
2.7 (from windows binaries from both activestate and python.org) and 
PIL. I've done this on two Win7 machines, one 64-bit and one 32-bit. On 
the 64bit machine, I've installed (and uninstalled) both the 32bit and 
64bit versions of python (again, both activestate and python.org binaries).

Everything in python and pil works as expected except that certain calls 
in pil return the error related to the jpeg decoder (IOError: decoder 
jpeg not available).

I've spent hours searching through forums trying to find the fix but no 
luck. It appears that this type of error has been present for years but 
not everyone encounters it (based on what I'm seeing in the forums). It 
also appears that those that do encounter it must resort to tweaking the 
source and re-compiling pil. Note: I do not know (or really want to 
know) how to compile from source which is why I'm using the binaries...

I've done enough trial and error testing that I believe:
- this issue is not unique to my system and
- that a significant portion of other people are also encountering it and
- that no "easy" (or at least non-techie) fix is available on the net  - 
and please spare me the "real men compile from source" comments :)

Thanks for your help,
Brian


Current Python version is: Python 2.7.3 (default, Apr 10 2012, 23:31:26) 
[MSC v.1500 32 bit (Intel)] on win32

Simple code to reproduce problem:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
import Image
path_filename_big = "c:\\temp\image\\big\\test_big.jpg"
path_filename_small = "c:\\temp\image\\small\\test_small.jpg"

def image_to_thumbnail(image_file):
     im = Image.open(image_file)
     size = 50,70
     im.thumbnail(size, Image.ANTIALIAS)
     im.save(path_filename_small)

image_to_thumbnail(path_filename_big)
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Traceback (most recent call last):
   File "T:/Dropbox/Dev_Gsi/Python/testing/Testing.py", line 41, in <module>
     image_to_thumbnail(path_filename_big)
   File "T:/Dropbox/Dev_Gsi/Python/testing/Testing.py", line 37, in 
image_to_thumbnail
     im.thumbnail(size, Image.ANTIALIAS)
   File 
"C:\Users\brayb\AppData\Roaming\Python\Python27\site-packages\PIL\Image.py", 
line 1559, in thumbnail
     self.load()
   File 
"C:\Users\brayb\AppData\Roaming\Python\Python27\site-packages\PIL\ImageFile.py", 
line 189, in load
     d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
   File 
"C:\Users\brayb\AppData\Roaming\Python\Python27\site-packages\PIL\Image.py", 
line 385, in _getdecoder
     raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available


More information about the Image-SIG mailing list