在Mac OS X 10.9之后无法安装PIL

时间:2013-10-23 03:14:19

标签: python macos python-imaging-library pip osx-mavericks

我刚刚将我的Mac OS更新为10.9,我发现我的Python模块中的一些(全部?)不再存在,尤其是Image one。

所以我尝试执行sudo pip install pil,但是我收到了这个错误:

/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

我的Xcode是最新的,我不知道。 PIL是否可能还不兼容10.9?

29 个答案:

答案 0 :(得分:211)

以下为我工作:

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

更新:

但下面有更多正确的解决方案,由威尔提供。

  

打开终端并执行:   xcode-select --install

答案 1 :(得分:102)

打开终端并执行:

xcode-select --install

答案 2 :(得分: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

对我有帮助! os x 10.9

pip install pillow

但!在pip安装之后......

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

最后我通过运行来修复它:

xcode-select --install

然后重新安装枕头

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

答案 3 :(得分:13)

适合我(OS X Yosemite 10.10.2 - Python 2.7.9):

xcode-select --install
sudo pip install pillow

请尝试检查它:

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

答案 4 :(得分:11)

以下是我的所作所为,PIL可能不需要一些步骤,但我仍需要libpng和其他人:

1)运行xcode install,使用此命令或从应用商店下载更新:

xcode-select --install

1b)添加命令行工具可选工具,在Mountain Lion中这是xcode下载页面上的一个选项,但现在您必须注册您的苹果ID并从以下网址下载:https://developer.apple.com/downloads/

查找Xcode的命令行工具(OS X Mavericks)

2)安装python所需的一切(使用brew),我相信你也可以使用端口:

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

如果需要,取消链接/重新链接,即升级。

3)安装Pip和所需的模块:

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

4)最后这没有错误:

sudo pip install Pillow

更新 11/04/14:PIL回购不再接收更新或支持,因此应使用Pillow。以下内容现已弃用,因此坚持使用Pillow。

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

更新(旧):安装Pillow(PIL fork)同样适用,应该提及它在大多数PIL情况下迅速成为替代品。而不是在步骤4中安装pip,而是运行它:

sudo pip install Pillow

希望这有助于某人!

答案 5 :(得分:9)

安装命令行工具为我解决了这个问题

你必须单独安装它们,因为它们现在不属于xcode中的软件包:

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

答案 6 :(得分:8)

不是那些为我工作的人......我一直在接受:

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

所以我找到了解决方案:

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

这样我就可以安装了。

答案 7 :(得分:6)

我遇到了类似的问题:使用clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]安装枕头失败,使用Can't install the software because it is not currently available from the Software Update server.安装命令行工具失败,甚至在手动安装命令行工具后,PIL的编译失败。

这种情况发生,因为最新版本的xcode下的clang不会对未知的编译器标志发出警告,而是以硬错误停止编译。

要解决此问题,请在尝试编译(安装pil)之前在终端上运行export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future"

答案 8 :(得分:5)

简单地运行

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

答案 9 :(得分:3)

这是我在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

答案 10 :(得分:2)

我不想安装XCode(我不使用它)而且我不愿意使用Application目录。我已经从这篇文章中的许多答案中抄下来了,以下两个步骤对我来说是10.9.5:

sudo easy_install pip
sudo pip install pillow

我觉得奇怪的是我必须使用easy_install来安装pip。但是在那之前(重新安装),pip并不想为我工作。

答案 11 :(得分:2)

我遇到以下错误

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

解决这个问题的方法是将freetype2符号链接到freetype,这解决了这个问题。

答案 12 :(得分:2)

确保您的xcode上安装了命令行工具。然后执行:

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

答案 13 :(得分:2)

您可以使用Homebrew来安装http://brew.sh

brew tap Homebrew/python
brew install pillow

答案 14 :(得分:1)

找到解决方案......你要像这样ln -s /opt/X11/include/X11 /usr/local/include/X11对符号链接X11,然后sudo pip install pil应该有效。

答案 15 :(得分:1)

重用@ DmitryDemidenko的答案,它对我有用:

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 -U PIL --allow-external PIL --allow-unverified PIL

答案 16 :(得分:1)

执行波纹管命令行。就像Mac OS 10.9.5上的魅力一样。

easy_install pip

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

sudo pip install Pillow

最佳, 西奥

答案 17 :(得分:0)

更新到10.9后出现同样的问题并修复了错误“命令'cc'失败,退出状态为1”,其中包含:

sudo sed -i '' -e 's/-mno-fused-madd//g' /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py

sudo rm /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.pyc

pip install pillow

答案 18 :(得分:0)

试试这个:

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

答案 19 :(得分:0)

sudo pip uninstall pillow
pip install pillow

为我工作。我在Yosemite上运行Python 2.7.9。import PIL现在适用于我。

答案 20 :(得分:0)

在Mac OSC 10.10 Yosemite上安装PIL(Imaging.1.1.7)。我在这里尝试了很多修复,但每个都遇到了麻烦。我终于通过编辑setup.py文件解决了这个问题:

TCL_ROOT =“/ opt / X11 / include”

在_imagingtk.c的编译中传递了适当的X11包含路径,这对我来说是个问题。改变后立即工作。

答案 21 :(得分:0)

我已从pyenv移至virtualenv,这解决了我的问题。

答案 22 :(得分: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

答案 23 :(得分:0)

安装Pillow代替:

sudo pip install pillow

答案 24 :(得分:0)

我的机器最近从OS 10.8升级 - &gt; 10.9卡在xcrun和lipo之间的循环中。

将/ usr / bin / lipo重命名为/ usr / bin / lipo_broken

有关如何解决的更多信息,请参阅此主题:

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

答案 25 :(得分:0)

由于接受的答案是xcode-select --install的正确答案,但有些人(包括我)可能会遇到Can't install the software because it is not currently available from the Software Update server 如果您正在使用测试版软件(因为我现在使用Yosemite并且遇到同样的问题),您需要单独获取CLT,因为它不包含在XCode中(即使是xcode beta) 前往developers.apple.com并获取适用于您操作系统的CLT工具;)

P.S。您不需要XQuartz用于PIL或Pillow工作

答案 26 :(得分:0)

更完整的解决方案需要安装已在Apple外部构建多年的Xquartz X11子系统。以下是我用来完成所有工作的步骤

  1. http://xquartz.macosforge.org/landing/
  2. 安装XQuartz
  3. 运行sudo pip install pillow

答案 27 :(得分:0)

这就是我所做的:

首先升级到Xcode 5(我正在运行10.9)。然后,在终端中执行以下命令:

$ /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/

答案 28 :(得分:-4)

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