Can't install PIL after Mac OS X 10.9
Asked Answered
L

28

132

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 ?

Lacasse answered 23/10, 2013 at 3:14 Comment(4)
Not an answer, but have you tried Pillow? pypi.python.org/pypi/Pillow/2.2.1 - it's a very well supported for of PIL.Snare
@JamesAddison Pillow 2.2.1 is similarly effected.Clamber
you want pip install pillowCarter
On macos 10.10.5 Yosemite, pip install Pillow==5.0.0 works, installs .../site-packages/PIL . (Why 5.0.0 ? See the issue ).Inclinatory
P
211

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

Pushy answered 23/10, 2013 at 15:5 Comment(14)
Your answer has a typo, it's MacOS10.9.sdk not MacOS0.9.sdk.Bemean
If you also want to have a PIL/Pillow with zlib/png/zip support you also need to do: ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/zlib.h /usr/local/include/Bandage
If it does not work, try slightly different directories: sudo 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 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/X11 and then sudo pip install PillowBlankbook
instead of making symlinks installing the command line tools (as suggested in another answer) fixes the solution properly.Integumentary
the suggested command brings up an error dialog from Apple. First it asks whether I want to Get XCode (which I have) or "Install". I choose install. It pops up a EULA, I accept, then an error dialog comes up: "Can't install the software because it is not currently available from the Software Update server."Hertel
@MattFeifarek: Try looking at this threadCzarra
The "More Correct Solution" did not work for me (in fact the command line tools were already installed in the normal way, so I got the same error as in @MattFeifarek's comment). But the symlink did fix the problem (allowing X11/Xlib.h to be found). So I think the second solution is only a more correct solution if it works! For the rest of us, the symlink is the better solution.Veneer
I encountered an error Downloading/unpacking pil Could not find any downloads that satisfy the requirement pil Some externally hosted files were ignored (use --allow-external pil to allow). Cleaning up... No distributions at all found for pil Storing debug log for failure in /Users/Usermania/.pip/pip.logContend
ln: /usr/local/include/X11: No such file or directory I have no /usr/local/include/X11 direcotry?Ayers
Works also for Yosemite OSX 10.10Meleager
Don't mess around with symlinks, run xcode-select --install and you're fine. (as Will mentioned)Openeyed
USE THE UPDATE METHOD: xcode-select --install WORKS!Perseus
Although xcode-select --installis helpful, I still had to symlink X11 issuing ln -s /opt/X11/include/X11 /usr/local/include/X11 - JFYI, I was trying to build Dlib using the included Cmake file (examples), on El Captian (OSX 10.11.1).Dumfries
ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /usr/local/include/X11 worked on MacOS Mojave 10.14Sharenshargel
L
102

open your terminal and execute:

xcode-select --install

Licko answered 6/11, 2013 at 16:44 Comment(5)
The question is not about installing Xcode but PIL... Moreover, I explained that I already had Xcode installed and up-to-date.Lacasse
This solves the problem as well (it install the command line tools that are not installed by default with Xcode).Corabella
This is all I needed to do, none of that symlinking stuff.Honkytonk
@VincentShowcaseWorkshop Xcode does not install the command line tools by default. I had to do this to get past the same problem as the OP's even though I most definitely already had Xcode installed and up to date on Mac OS 10.9.2.Skeleton
This fixes the issue with Mac version 10.11.2 (15C50).Wilinski
R
34
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
    --------------------------------------------------------------------
Replenish answered 23/10, 2013 at 20:0 Comment(3)
updated to mavericks yesterday and just today I was starting a project, you just saved me hours of heartache THANKS!Monosyllabic
This I had to do $> ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pillowLadykiller
thanks! for 10.10 use: sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /usr/local/include/X11Malchus
H
14

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()
Hanaper answered 3/4, 2015 at 18:59 Comment(0)
C
11

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

2) 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.

3) Install Pip and required modules:

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

4) 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!

Corenda answered 18/7, 2014 at 13:22 Comment(5)
Step 4) may end with sth like _imagingft.c:73:10: fatal error: 'freetype/fterrors.h' file not found. But could be resolved following #20325973.Pantheism
are you installing pil or pillow? PIL is deprecated, I'll update this.Corenda
Doesn't matter. PIL or Pillow, it might still be useful for some poeple to resolve symlinking freetype/freetype2 issue. But thanks!Pantheism
Yeah I added stuff in step 2 for unlink /link if upgrading. If missing something can you edit and I'll accept?Corenda
sudo pip install pil --allow-external pil --allow-unverified pil helped me in 2015Mete
H
9

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#

Harrow answered 24/10, 2013 at 15:18 Comment(3)
I definitely prefer this approach. I hate doing custom symlinking with system packages... you never know what is going to break on the next update...Rounding
That appears to be a bad URL now.Hertel
@MattFeifarek that URL worked for me today. I had to log in with a dev account, but it then took me to the relevant command line tools download page.Skeleton
A
8

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.

Aureaaureate answered 26/4, 2014 at 21:14 Comment(3)
This is the one that fixed it for me. If you are running a virtual enviroment, you do not need the sudo command.Mardellmarden
Thank you! This works running a Python virtual environment. I didn't have Xcode currently installed so this saved me the download time.Jarnagin
This works great for old xcode in 10.8, did it work for Mavericks?Corenda
S
6

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).

Suziesuzuki answered 25/3, 2014 at 8:52 Comment(0)
M
5

Simply run

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

Matriarchy answered 12/2, 2014 at 3:52 Comment(0)
S
3

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
Sexless answered 5/3, 2014 at 16:25 Comment(0)
D
2

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

brew tap Homebrew/python
brew install pillow
Dredger answered 14/3, 2014 at 5:14 Comment(1)
Hello rchapman. When I run brew to install samueljohn/python/pillow, it gives a warning like: pillow-2.5.1 already installed, it's just not linked. And before this, there are 15 warnings like: Could not tap homebrew/python/cpyrit-cuda over samueljohn/python/cpyrit-cuda. Any ideas why this happens? Or how can I link pillow?Continent
E
2

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

sudo pip install pil --allow-external pil --allow-unverified pil
Embankment answered 16/5, 2014 at 3:0 Comment(1)
I was able to install it without command line tools using the Xcode for Mavericks.Corenda
A
2

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.

Aboutface answered 12/6, 2014 at 7:44 Comment(0)
R
2

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.

Retentive answered 9/1, 2015 at 3:14 Comment(0)
L
1

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.

Lacasse answered 23/10, 2013 at 3:47 Comment(2)
not working for me... did you update your xcode before making it to work? did you restart your mac lots of times? this is frustrating me. ughs.Grishilda
I did my xcode update before and I restarted my mac even if I'm not sure it's helpful. Maybe the path to your X11 is not the same for you. Try some of the other answers maybe.Lacasse
F
1

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
Fleecy answered 3/2, 2014 at 14:14 Comment(0)
K
1

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

Kymberlykymograph answered 26/3, 2015 at 15:32 Comment(0)
J
0

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/
Jacquline answered 6/11, 2013 at 4:39 Comment(2)
A similar answer was given and accepted two weeks ago. I fail to see the additional value of yours...Eger
Well, this answer has different paths than the accepted one. I added this version as a comment to the accepted answer. The command is sudo 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 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/X11Blankbook
F
0

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
Foam answered 8/4, 2014 at 19:9 Comment(0)
G
0

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

Gosney answered 29/6, 2014 at 16:6 Comment(0)
M
0

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:

xcrun/lipo freezes with OS X Mavericks and XCode 4.x

Moiety answered 30/6, 2014 at 15:54 Comment(0)
T
0

Install Pillow instead:

sudo pip install pillow
Tergiversate answered 8/7, 2014 at 18:25 Comment(3)
You still need all the pre-config as you would for PILCorenda
@Corenda no you don't on mac 10.9. Have you actually tried the command before you down-voted my answer?Tergiversate
I didn't downvote ur answer, i upvoted, but yeah I did try. I actually did this a few times now and I didn't need step 1b actually but everything else I needed.Corenda
G
0
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
Genuflection answered 16/9, 2014 at 21:0 Comment(0)
G
0

Try this:

ln -s /usr/local/include/freetype2 /usr/local/include/freetype
Gambado answered 22/10, 2014 at 17:11 Comment(1)
Please add a bit more, and explain why he should do that.Adequacy
C
0
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.

Carter answered 25/3, 2015 at 7:57 Comment(0)
C
0

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.

Copperas answered 18/4, 2015 at 18:27 Comment(0)
O
0

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

Overglaze answered 12/11, 2017 at 22:1 Comment(0)
B
-4
  1. ln -s /opt/X11/include/X11 /usr/local/include/X11
  2. pip install pil without sudo
Blate answered 23/10, 2013 at 9:38 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.