Installing PIL on the Mac

The Python Imaging Library, PIL, is a very useful addition to your Python installation if you need to manipulate pictures. Django uses it to validate upload images for example.

On a Mac you do need to install libjpeg beforehand.

Install libjpeg:

  • Get the source: http://www.ijg.org/files/jpegsrc.v6b.tar.gz

  • Extract the archive.

  • Move inside the source directory and execute the following commands:

    cp /usr/share/libtool/config.sub .
    cp /usr/share/libtool/config.guess .
    ./configure --enable-shared
    make
    sudo mkdir -p /usr/local/include
    sudo mkdir -p /usr/local/bin
    sudo mkdir -p /usr/local/lib
    sudo mkdir -p /usr/local/man/man1
    sudo make install
    

Install PIL:

  • Get PIL at: http://effbot.org/downloads/Imaging-1.1.6.tar.gz

  • Extract the archive.

  • Move inside the source directory

  • Change the following values in setup.py from the default None to:

    JPEG_ROOT = "/usr/local/include"
    ZLIB_ROOT = "/usr/local/include"
    
  • Check if everything is well configured:

    python setup.py build_ext -i
    python selftest.py
    
  • If no errors are found and the required libraries are installed (like JPEG support), install PIL:

    sudo python setup.py install
    

And that’s it, I’ve tried this on Mac OS Leopard, and it works fine, let me know how it went for you.

14 March, 2008 — 3 comments

3 Comments


christian posta 26 July, 2011 05:57

Thanks for posting this! I was getting errors trying to upload images with django on mac os x lion, but following this guide fixed the issue for me! i never had to do this on ubuntu, from what i could recall… any idea why this is so much more involved on mac?

thanks again!



wouter 24 September, 2011 15:44

Another small note:

The config files are located in a separate config directory in Lion:

/usr/share/libtool/config/config.sub
/usr/share/libtool/config/config.guess



Amir Latifi 14 February, 2012 04:37

Thanks.
Resolved my problem.
🙂



Comments are closed for this post