在小牛上安装Pillow / PIL

时间:2014-03-11 19:30:44

标签: python python-imaging-library pip easy-install pillow

尝试使用pip / easy_install安装Pillow时出现了一个奇怪的错误:

cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -DHAVE_LIBJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/System/Library/Frameworks/Tcl.framework/Versions/8.5/Headers -I/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/Cellar/freetype/2.5.3/include/freetype2 -I/private/var/folders/c_/r7sp373509jdb6_1xmmzvl9c0000gn/T/pip_build_tills13/Pillow/libImaging -I/System/Library/Frameworks/Python.framework/Versions/2.7/include -I/usr/local/include -I/usr/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.9-intel-2.7/_imaging.o

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

我已经阅读了所有符号链接的答案,我已经安装了命令行工具,似乎没有任何工作。我总是得到那个错误。

5 个答案:

答案 0 :(得分:58)

我通过以下方式解决了这个问题。可能与今天的Mavericks命令行工具更新有关。尝试在执行pip install之前向终端添加以下内容:

export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments

答案 1 :(得分:13)

在终端中运行此命令:

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pillow


更多信息:

Xcode 5.1附带的编译器将未知传递的参数视为错误。

我们告诉它忽略那些"错误"

来源:http://bruteforce.gr/bypassing-clang-error-unknown-argument.html

答案 2 :(得分:5)

除了@jussi之外,我还要打开终端并执行以下操作:

    sudo bash
    export CFLAGS=-Qunused-arguments
    export CPPFLAGS=-Qunused-arguments

只有这样才能正常运行'pip install pillow'

如果我没有使用超级用户提示运行它,我会收到以下错误:

    error: could not create '/Library/Python/2.7/site-packages/PIL': Permission denied

我在安装了March 2014命令行工具的情况下运行OSX 10.9.2。如果有所作为,我也安装了Homebrew。

答案 3 :(得分:5)

查看brew http://brew.sh

brew tap Homebrew/python
brew install pillow

答案 4 :(得分:1)

这些解决方案都不适合我。我终于在this post的帮助下安装了它:

  

我发现尝试使用最新的Xcode和OS更新构建MySQLdb时遇到同样的问题。这是一个解决方法,涉及从python安装中删除标志。

     

在/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py中设置了-mno-fused-madd标志的几个地方。如果编辑此文件并删除对该标志的所有引用,则编译应该起作用。您还需要删除相应的_sysconfigdata.pyc文件 - 至少在我的系统上该文件没有自动重建。请注意,必须使用root访问权来进行更改。