[Image-SIG] using PIL as a package-PIL doesn't load all ImagePlugins-patch?

Fredrik Lundh fredrik@pythonware.com
Sun, 15 Oct 2000 14:05:05 +0200

Christopher wrote:
> I appear to be having trouble because Image.py:: init() doesn't load the
> plugins appearing in the PIL directory w/o it being on the path.

it's a known bug in 1.1.  the usual workaround is to explicitly
import the file formats you need:

    from PIL import Image, PngImagePlugin, JpegImagePlugin

(note that PIL successfully imports a couple of plugins if you *open*
a file; it's only a real problem if you're writing out images you've
created internally, or if you're using less common file formats).


>     tmppath = sys.path

note that this creates a reference to sys.path, and the following
append will modify sys.path as well.  use "tmppath = sys.path[:]"
to create a (shallow) copy.


the "right" way to do this is to use the __path__ variable instead
of sys.path (but only if it exists):

        tmppath = __path__
        tmppath = sys.path


and yes, this is fixed in the upcoming 1.2 release.