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

132

我刚刚将我的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版本,这可能是原因吗?


不是答案,但你尝试过Pillow吗?https://pypi.python.org/pypi/Pillow/2.2.1 - 它是一个非常好的PIL支持库。 - James Addison
4
Pillow 2.2.1 同样受到影响。 - Adam J. Forster
你需要执行 pip install pillow - kilojoules
在macOS 10.10.5 Yosemite上,pip install Pillow==5.0.0可以正常工作,并安装了.../site-packages/PIL。 (为什么是5.0.0?请参见问题。) - denis
28个回答

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

0

由于被接受的答案是正确的,使用xcode-select --install,但有些人(包括我)可能会遇到无法安装软件,因为它目前不可从软件更新服务器获取。如果您正在使用测试版软件(就像我现在正在使用Yosemite并且遇到了同样的问题),则需要单独获取CLT,因为它未包含在XCode中(即使是xcode beta)。请前往developers.apple.com获取适用于您操作系统的CLT工具;)

P.S. 您不需要XQuartz才能使PIL或Pillow正常工作。


0

0
一个更完整的解决方案需要安装Xquartz X11子系统,它已经在苹果外部建立了几年。这里是我用来让它工作的步骤:
  1. http://xquartz.macosforge.org/landing/安装XQuartz
  2. 运行 sudo pip install pillow

0

请安装Pillow替代:

sudo pip install pillow

你仍然需要像为PIL一样的所有预配置。 - radtek
@radtek 不,你在Mac 10.9上不需要。你有实际尝试过这个命令吗?在你对我的回答进行负评之前? - Bobo
我没有给你的答案点踩,我点了赞,但是我确实尝试过。我现在已经做了几次了,实际上我并不需要步骤1b,但其他所有步骤我都需要。 - radtek

0

在Mac OSC 10.10 Yosemite上安装PIL(Imaging.1.1.7)。我尝试了这里推荐的许多解决方法,但每个都遇到了问题。最终,我通过编辑setup.py文件解决了这个问题:

TCL_ROOT = "/opt/X11/include"

这将在编译_imagingtk.c时传递适当的X11包含路径,这是导致我的问题的原因。更改后立即生效。


0

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


-4
  1. ln -s /opt/X11/include/X11 /usr/local/include/X11
  2. 使用非sudo权限安装pil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接