I've tried googling & looking up some other people's questions. However, I still couldn't find a clear/simple recipe to install PIL (for python 2.6 or 2.7) on mac os x 10.7.2 Lion.
9 Answers
If you use homebrew, you can install the PIL with just brew install pil
. You may then need to add the install directory ($(brew --prefix)/lib/python2.7/site-packages
) to your PYTHONPATH, or add the location of PIL directory itself in a file called PIL.pth
file in any of your site-packages directories, with the contents:
/usr/local/lib/python2.7/site-packages/PIL
(assuming brew --prefix
is /usr/local
).
Alternatively, you can just download/build/install it from source:
# download
curl -O -L http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz
# extract
tar -xzf Imaging-1.1.7.tar.gz
cd Imaging-1.1.7
# build and install
python setup.py build
sudo python setup.py install
# or install it for just you without requiring admin permissions:
# python setup.py install --user
I ran the above just now (on OSX 10.7.2, with XCode 4.2.1 and System Python 2.7.1) and it built just fine, though there is a possibility that something in my environment is non-default.
This is something I wrote for the folks at work. It's a full workup for getting a clean OSX Lion working virtualenv using django + git + some other stuff:
https://gist.github.com/1781374
The most important lines for you are:
Install libjpeg (PIL req)
curl -O http://www.ijg.org/files/jpegsrc.v8c.tar.gz
tar -xvzf jpegsrc.v8c.tar.gz
cd jpeg-8c
./configure
make
sudo make install
cd ../
Install freetype (more PIL requirements)
curl -O http://ftp.igh.cnrs.fr/pub/nongnu/freetype/freetype-2.4.5.tar.gz
tar -xvzf freetype-2.4.5.tar.gz
cd freetype-2.4.5
./configure
make
sudo make install
cd ../
Install PIL (usually in the requirements.txt so I don't have it in the above linked instruction)
pip install PIL
or some folks have to (not sure what the configuration difference that causes this is):
sudo pip install PIL
EDIT:
ALSO note that with LION command line tools aren't installed by default, you have to manually enable them, open XCode got to preferences then downloads and select command line tools to be installed before you can compile anything (noted at the top of my GIST)
One way is via Macports
Install the base macports as per the installation guide
Then install the py27-pil port by port install py27-pil
You will then need to use the python installed by macports by using port select --set python python27
I find it easier to use a package manager like macports (or fink or homebrew) when you require C libraries to be installed as well as python code.
http://rudix.org provides hassle free installation for lots of precompiled unix packages including pil and pillow. After I tried every single answer on StackOverflow, the only thing that ended up working was this (I wish I had found them before I tried everything else). http://rudix.org/packages/pil.html and http://rudix.org/packages/pillow.html
On Mac OS X, if you prefer to install PIL using pip inside a virtualenv, then you might have to make PIL use Mac's builtin freetypes by running:
$ ln -s /usr/X11/include/freetype2 /usr/local/include/
$ ln -s /usr/X11/include/ft2build.h /usr/local/include/
$ ln -s /usr/X11/lib/libfreetype.6.dylib /usr/local/lib/
$ ln -s /usr/X11/lib/libfreetype.6.dylib /usr/local/lib/libfreetype.dylib
$ pip install PIL
I was trying to execute a Python script with administrative privileges in a Mac (running on Lion) and looking at this post I found out that all I needed to do was launch Python with Administrative privileges by using the "sudo" command in the Terminal.
Like that: "sudo Python" and then executing the script.
I know it is pretty basic but it was exactly what I needed to get my script working...