[Django]-Installing PIL with JPEG support on Mac OS X

18πŸ‘

βœ…

I installed libjpeg and PIL on Snow and it was migrated without problems to Lion.

I think however that you have the same problem I faced with installing libjpeg 7 on Snow. The solution for me was :

  • Make sure that you are NOT using GCC 4.0. That means those export lines in your .bash_profile file that you needed to get MySQLdb
    working now need to go away.
  • get (http://www.ijg.org/files/jpegsrc.v7.tar.gz) and do the usual ./configure && make && make install (or whatever the readme says).
  • Before installing PIL but after installing libjpeg, change the β€œJPEG_ROOT = None” line in my setup.py file to β€œJPEG_ROOT =
    libinclude(β€œ/usr/local”)”

I got this from a comment on this blog.

Afterwards you can reinstall PIL through pip or easy_install. Make sure all the compiled stuff from your last run is deleted (sometimes you need to do this manually). I used virtualenv and pip.

πŸ‘€Density 21.5

93πŸ‘

In our virtualenv we found all we needed to do was:

pip uninstall PIL
brew install libjpeg
pip install PIL

which is simpler than some of the above and may be enough for others with this problem too.
Although there was an xcode warning on the brew and a setup.py package warning on the reinstall of PIL, all the tests that previously failed with jpeg decode errors successfully ran after just the quick action above.

πŸ‘€AnnW

16πŸ‘

Make sure you have homebrew and pip, and then run:

brew install libjpeg
pip install pil
πŸ‘€Jian

11πŸ‘

I used the following binary to get libpng and libjpeg installed systemwide on OSX:

libpng & libjpeg for OSX

Because I already had PIL installed (via pip on a virtualenv), I ran:

pip uninstall PIL
pip install PIL --upgrade

This resolved the decoder JPEG not available error for me.

UPDATE:

If encountering the error encoder jpeg not available, you may need to install libjpeg. If using Homebrew:

brew install libjpeg
πŸ‘€zeantsoi

3πŸ‘

Worth noting and good information to have whenever working with Python and PIL: If you use virtualenv (and I think it’s a very good idea), PIL may not correctly detect the image libraries on your system and install without JPEG/PNG support. Use the pillow package for a compatible PIL fork that finds them correctly.

πŸ‘€kungphu

3πŸ‘

For OSX, pip install PIL had:

--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      darwin 2.7.2 (default, Oct 11 2012, 20:14:37)
              [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)]
--------------------------------------------------------------------
--- TKINTER support available
*** JPEG support not available
--- ZLIB (PNG/ZIP) support available
*** FREETYPE2 support not available
*** LITTLECMS support not available
--------------------------------------------------------------------

Another post led to something that works.

Install the libraries from here.

πŸ‘€Max

2πŸ‘

If you have macports installed, you should do a:

$ sudo port selfupdate
$ sudo port install py27-pil

It’s easier than the easy_install + libjpeg method since macports install the right dependencies.

πŸ‘€Maxime

Leave a comment