Mac OS X 10.9之后无法安装 PIL

我刚刚把我的 Mac OS 升级到10.9,我发现一些(全部?)我的 Python 模块已经不在这里了,尤其是 Image 模块。

所以我尝试执行 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?

93812 次浏览

找到了解决方案... 你必须符号链接 X11像这样的 ln -s /opt/X11/include/X11 /usr/local/include/X11,然后 sudo pip install pil应该工作。

  1. Ln-s/opt/X11/include/X11/usr/local/include/X11
  2. 没有 sudo 的 pip 安装片

下面这句话对我很有用:

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

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

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

您必须单独安装它们,因为它们现在不是 xcode 中的包的一部分:

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

我就是这么做的:

首先升级到 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/

打开终端并执行:

xcode-select --install

重复使用@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

跑就是了

Pip 安装桩——允许外部桩——允许未经验证桩

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

你可以使用家酿来做安装 http://brew.sh

brew tap Homebrew/python
brew install pillow

我也遇到过类似的问题: 用 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"

一个更完整的解决方案需要安装已经在苹果公司之外建立了几年的 X 石英 X11子系统。以下是我使用的步骤,以使所有的工作

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

这些对我来说都不管用. . 我不断收到:

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

这样我才能安装。

确保在 xcode 上安装了命令行工具,然后执行:

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

我犯了以下错误

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,这就解决了这个问题。

由于公认的答案是正确的与 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 工具;)

另外,你不需要 XQuartz 来让 PIL 或枕头工作

我最近从 OS 10.8-> 10.9升级的机器陷入了 xcrun 和 lipo 之间的循环。

将/usr/bin/lipo 重命名为/usr/bin/lipo _ broke

有关如何解决以下问题的进一步信息,请参阅此帖子:

用 OS X Mavericks 和 XCode4. x 冻结 xcrun/lipo

改为安装 枕头:

sudo pip install pillow

下面是我所做的,一些步骤可能不仅仅是 PIL 所必需的,但是我需要 libpng 和其他无论如何:

1)运行 xcode install,使用这个命令或者从应用程序商店下载更新:

xcode-select --install

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

查找 Xcode 的命令行工具(OSXMavericks)

2)安装 python 所需的所有东西(使用 brew) ,我相信你也可以使用 port:

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 回购不再收到更新或支持,所以应该使用枕头。下面的内容现在已经不适用了,所以还是用枕头吧。

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

更新 (OLD) : 在安装枕头(PIL 叉)时,同样的事情也适用,应该提到的是,在大多数 PIL 的情况下,它很快就会成为替代品。不要在步骤4中安装 pip,而是运行以下命令:

sudo pip install Pillow

希望这对谁有帮助!

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

试试这个:

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

我不想安装 XCode (我不使用它) ,我也不愿意乱动应用程序目录。我已经抄袭了这篇文章中的许多答案,下面两个步骤对我来说是10.9.5:

sudo easy_install pip
sudo pip install pillow

我确实感到奇怪,我必须使用 easy _ install 来安装 pip。但是在那次(重新)安装之前,pip 不想为我工作。

sudo pip uninstall pillow
pip install pillow

对我有用,我在 Yosemite 上运行 Python 2.7.9 import PIL现在对我有用。

执行下面的命令行

Easy _ install pip

Sudo pip install setuptools ——不使用轮子——升级

安装枕头

贝斯特, 西奥

为我工作(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()

在 Mac OSC 10.10 Yosemite 上安装 PIL (Image.1.1.7)。我尝试了这里推荐的许多修复程序,但是每一个都遇到了麻烦。我最终通过编辑 setup.py 文件解决了这个问题,例如:

TCL _ ROOT = “/opt/X11/include”

它在 _ imagingtk.c 的编译中传递 X11的适当包含路径,这给我带来了问题。更改后立即生效。

我已经从 pyenv移动到 virtualenv,这解决了我的问题。