Porting existing PIL-based code to PillowΒΆ

Pillow is a functional drop-in replacement for the Python Imaging Library. To run your existing PIL-compatible code with Pillow, it needs to be modified to import the Image module from the PIL namespace instead of the global namespace. Change this:

import Image

to this:

from PIL import Image

The _imaging module has been moved. You can now import it like this:

from PIL.Image import core as _imaging

The image plugin loading mechanism has changed. Pillow no longer automatically imports any file in the Python path with a name ending in ImagePlugin.py. You will need to import your image plugin manually.

Pillow will raise an exception if the core extension can’t be loaded for any reason, including a version mismatch between the Python and extension code. Previously PIL allowed Python only code to run if the core extension was not available.

This Page

Need help?

You can get help via IRC at irc://irc.freenode.net#pil or Stack Overflow here and here. Please report issues on GitHub.