Can't install PIL after Mac OS X 10.9

PythonMacosPython Imaging-LibraryPipOsx Mavericks

Python Problem Overview


I've just updated my Mac OS to 10.9 and I discovered that some (all?) of my Python modules are not here anymore, especially the Image one.

So I try to execute sudo pip install pil, but I get this error:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/tk.h:78:11: fatal error: 'X11/Xlib.h' file not found

#      include <X11/Xlib.h>

               ^

1 error generated.

error: command 'cc' failed with exit status 1

My Xcode is up-to-date and I don't have any idea. Is it possible that PIL is not yet 10.9 compatible ?

Python Solutions


Solution 1 - Python

Following worked for me:

ln -s  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /usr/local/include/X11
sudo pip install pil

UPDATE:

But there is more correct solution below, provided by Will.

> open your terminal and execute: > xcode-select --install

Solution 2 - Python

open your terminal and execute:

xcode-select --install

Solution 3 - Python

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11/ /usr/local/include/X11

helps for me! os x 10.9

pip install pillow

but! after pip install ...

*** ZLIB (PNG/ZIP) support not available

and finally i fix it by running:

xcode-select --install

then reinstall pillow

pip install pillow

PIL SETUP SUMMARY
    --------------------------------------------------------------------
    version      Pillow 2.2.1
    platform     darwin 2.7.5 (default, Aug 25 2013, 00:04:04)
                 [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)]
    --------------------------------------------------------------------
    --- TKINTER support available
    --- JPEG support available
    --- ZLIB (PNG/ZIP) support available
    --- TIFF G3/G4 (experimental) support available
    --- FREETYPE2 support available
    --- LITTLECMS support available
    --- WEBP support available
    --- WEBPMUX support available
    --------------------------------------------------------------------

Solution 4 - Python

Works for me ( OS X Yosemite 10.10.2 - Python 2.7.9 ) :

xcode-select --install
sudo pip install pillow

Try this to check it:

from PIL import Image
image = Image.open("file.jpg")
image.show()

Solution 5 - Python

Here is what I did, some steps may not be necessary just for PIL but I needed libpng and others anyways:

  1. Run xcode install, use this command or download updates from the app store:

    xcode-select --install

1b) Add the Command Line Tools optional tool, in Mountain Lion this was an option on the xcode Download page, but now you have to register with your apple id and download from: https://developer.apple.com/downloads/

Look for Command Line Tools (OS X Mavericks) for Xcode

  1. Install everything needed for python (using brew), I believe you can use port as well:

    brew install readline sqlite gdbm brew install python --universal --framework brew install libpng jpeg freetype

Unlink/ relink if needed i.e. if upgrading.

  1. Install Pip and required modules:

    easy_install pip sudo pip install setuptools --no-use-wheel --upgrade

  2. Finally this works with no errors:

    sudo pip install Pillow

UPDATE 11/04/14: PIL repo no longer receives updates or support so Pillow should be used. The below is now deprecated so stick with Pillow.

sudo pip install pil --allow-external pil --allow-unverified pil

UPDATE (OLD) : The same thing applies when installing Pillow (PIL fork) and should be mentioned as its quickly becoming a replacement in most cases of PIL. Instead of installing pip in step 4, run this instead:

sudo pip install Pillow

Hope this helps someone!

Solution 6 - Python

installing command line tools fixed the issue for me

you have to install them separately as they are not part of the packages in xcode now:

https://developer.apple.com/downloads/index.action?=command%20line%20tools#

Solution 7 - Python

Non of those worked for me.. I kept receiving:

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
error: command 'cc' failed with exit status 1

So I found a work around with the following solution:

sudo export CFLAGS=-Qunused-arguments
sudo export CPPFLAGS=-Qunused-arguments
sudo pip install PIL --allow-external PIL --allow-unverified PIL

This way I was able to install.

Solution 8 - Python

I had a similar problem: Installing pillow failed with clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future], installing command line tools failed with Can't install the software because it is not currently available from the Software Update server., and even after installing the command line tools manually, the compilation of PIL failed.

This happens cause clang under the newest version of xcode doesn't warn on unknown compiler flags, but rather stop the compilation with a hard error.

To fix this, just run export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future" on the terminal before trying to compile (installing pil).

Solution 9 - Python

Simply run

pip install pil --allow-external pil --allow-unverified pil

Solution 10 - Python

This my steps on mac os 10.9.1

1. sudo su
2. easy_install pip
3. xcode-select --install
4. pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL

Solution 11 - Python

You could use Homebrew to do the install http://brew.sh

brew tap Homebrew/python
brew install pillow

Solution 12 - Python

Make sure you have Command Line Tools installed on your xcode. Then execute:

sudo pip install pil --allow-external pil --allow-unverified pil

Solution 13 - Python

I was having the following error

building 'PIL._imagingft' extension
_imagingft.c:62:10: fatal error: 'freetype/fterrors.h' file not found

#include <freetype/fterrors.h>

         ^

1 error generated.

error: command 'cc' failed with exit status 1

The solution to this was to symlink freetype2 to freetype and this solved the problem.

Solution 14 - Python

I didn't want to install XCode (I don't use it) and I'm loath to fiddle with Application directory. I've cribbed from the many answers in this post and the following two steps work for me with 10.9.5:

sudo easy_install pip
sudo pip install pillow

It did appear to me strange that I had to use easy_install to install pip. But pip didn't want to work for me before that (re-)install.

Solution 15 - Python

Found the solution ... You've to symlink X11 like this ln -s /opt/X11/include/X11 /usr/local/include/X11 and then sudo pip install pil should work.

Solution 16 - Python

Reusing @DmitryDemidenko's answer that is how it worked for me:

ln -s  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /usr/local/include/X11

and then

sudo pip install -U PIL --allow-external PIL --allow-unverified PIL

Solution 17 - Python

Execute the bellow command lines. Works like a charm on Mac OS 10.9.5

easy_install pip

sudo pip install setuptools --no-use-wheel --upgrade

sudo pip install Pillow

Best, Theo

Solution 18 - Python

That's what I did:

First upgrade to Xcode 5 (I am running 10.9). Then, execute the following commands in a terminal:

$ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
$ ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 usr/include/

Solution 19 - Python

A more complete solution requires the installation of the Xquartz X11 subsystem that has been built outside of Apple for several years now. Here are the steps I used to get it all working

  1. Install XQuartz from http://xquartz.macosforge.org/landing/
  2. Run sudo pip install pillow

Solution 20 - Python

As the accepted answer is the right one with xcode-select --install but some people (including me) may encounter Can't install the software because it is not currently available from the Software Update server If you are using beta software (as I am using Yosemite now and had the same problem) you NEED to get the CLT separately since it is NOT included in XCode (even xcode beta) Head over to developers.apple.com and get CLT tools for your OS ;)

P.S. You don't need XQuartz for PIL or Pillow to work

Solution 21 - Python

My machine which was recently upgraded from OS 10.8 -> 10.9 got stuck in a loop between xcrun and lipo.

Rename /usr/bin/lipo to /usr/bin/lipo_broken

Refer to this thread for further information on how to resolve:

https://stackoverflow.com/questions/18667916/xcrun-lipo-freezes-with-os-x-mavericks-and-xcode-4-x

Solution 22 - Python

Install Pillow instead:

sudo pip install pillow

Solution 23 - Python

ln -s /usr/local/include/freetype2 /usr/local/include/freetype
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pil

Solution 24 - Python

Try this:

ln -s /usr/local/include/freetype2 /usr/local/include/freetype

Solution 25 - Python

sudo pip uninstall pillow
pip install pillow

worked for me. I'm running Python 2.7.9 on Yosemite.import PIL now works for me.

Solution 26 - Python

Installing PIL (Imaging.1.1.7) on Mac OSC 10.10 Yosemite. I tried numerous fixes recommended here but ran into trouble with each one. I finally solved this problem by editing the setup.py file such that:

TCL_ROOT = "/opt/X11/include"

which passes the appropriate include path for X11 in the compilation of _imagingtk.c, which was causing the problem for me. Worked immediately after change.

Solution 27 - Python

I've moved from pyenv to virtualenv and this fixed my problem.

Solution 28 - Python

  1. ln -s /opt/X11/include/X11 /usr/local/include/X11
  2. pip install pil without sudo

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionVincent AudebertView Question on Stackoverflow
Solution 1 - PythonDmitry DemidenkoView Answer on Stackoverflow
Solution 2 - PythonWillemView Answer on Stackoverflow
Solution 3 - Pythonklem4View Answer on Stackoverflow
Solution 4 - Pythonx86View Answer on Stackoverflow
Solution 5 - PythonradtekView Answer on Stackoverflow
Solution 6 - PythonFormulkaView Answer on Stackoverflow
Solution 7 - PythontonhoziView Answer on Stackoverflow
Solution 8 - PythonnicolaslaraView Answer on Stackoverflow
Solution 9 - PythonjquallsView Answer on Stackoverflow
Solution 10 - PythonsaranpolView Answer on Stackoverflow
Solution 11 - PythonrchapmanView Answer on Stackoverflow
Solution 12 - Pythonuser3643204View Answer on Stackoverflow
Solution 13 - PythonGeoffreyView Answer on Stackoverflow
Solution 14 - PythonCyberFonicView Answer on Stackoverflow
Solution 15 - PythonVincent AudebertView Answer on Stackoverflow
Solution 16 - PythonDimosthenis KontogiorgosView Answer on Stackoverflow
Solution 17 - PythonTheophanis HadjistasiView Answer on Stackoverflow
Solution 18 - PythonWilliam MonroeView Answer on Stackoverflow
Solution 19 - PythonSammy SpetsView Answer on Stackoverflow
Solution 20 - PythonMohibeykiView Answer on Stackoverflow
Solution 21 - PythonBen RussellView Answer on Stackoverflow
Solution 22 - PythonBoboView Answer on Stackoverflow
Solution 23 - PythonsoftvarView Answer on Stackoverflow
Solution 24 - PythonDamian GołojuchView Answer on Stackoverflow
Solution 25 - PythonkilojoulesView Answer on Stackoverflow
Solution 26 - PythonKeith BushView Answer on Stackoverflow
Solution 27 - PythonipeacocksView Answer on Stackoverflow
Solution 28 - PythonSergeyView Answer on Stackoverflow