[Image-SIG] import ICCProfile Error

Fredrik Lundh fredrik at pythonware.com
Sun Nov 14 20:06:26 CET 2010


I suspect a buglet in the GAE development server: when reloading the
code, it explicitly messes with sys.modules in a way that triggers
this error when PIL is invoked the next time (by calling code in a
module that no longer exists in sys.modules).  It only happens for
some PNG files, and only for PIL 1.1.7, so it hasn't shown up in their
tests yet.  And it doesn't happen in programs that doesn't manipulate
sys.modules directly (i.e. most programs), so we haven't seen it on
image-sig before.

</F>

On Sun, Nov 14, 2010 at 6:44 PM, Bharathwaaj Srinivasan
<bharathwaaj.s at gmail.com> wrote:
> As you suggested, I've commented out the try except code
>
>         #try:
>         #    import ICCProfile
>         #    p = ICCProfile.ICCProfile(im.info["icc_profile"])
>         #    name = p.tags.desc.get("ASCII", p.tags.desc.get("Unicode",
> p.tags.desc.get("Macintosh", p.tags.desc.get("en", {}).get("US", "ICC
> Profile")))).encode("latin1", "replace")[:79]
>         #except ImportError:
>         name = "ICC Profile"
>
> and it works fine. Still couldn't understand why it was failing?
>
> Kind regards,
> Bharath
>
> On 14 November 2010 22:26, Fredrik Lundh <fredrik at pythonware.com> wrote:
>>
>> On Sun, Nov 14, 2010 at 3:46 PM, Bharathwaaj Srinivasan
>> <bharathwaaj.s at gmail.com> wrote:
>> > Hi,
>> >
>> > I tried from the command line. Still getting error. Please see the log.
>> >
>> > bharath at bharath-laptop:~/workspace/webKit$ python2.5
>> > Python 2.5.5 (r255:77872, Nov  3 2010, 13:18:19)
>> > [GCC 4.4.5] on linux2
>> > Type "help", "copyright", "credits" or "license" for more information.
>> >>>> import PIL
>> >>>> import ICCProfile
>> > Traceback (most recent call last):
>> >   File "<stdin>", line 1, in <module>
>> > ImportError: No module named ICCProfile
>> >>>> from PIL import ICCProfile
>> > Traceback (most recent call last):
>> >   File "<stdin>", line 1, in <module>
>> > ImportError: cannot import name ICCProfile
>> >>>>
>>
>> That's irrelevant -- in the PNG module, the import is wrapped inside a
>> try/except statement.  The problem is that the try/except expects an
>> ImportError (which you'e seeing), not a SystemError (which is what
>> happens inside GAE).
>>
>> </F>
>
>


More information about the Image-SIG mailing list