尝试使用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
我已经阅读了所有符号链接的答案,我已经安装了命令行工具,似乎没有任何工作。我总是得到那个错误。
答案 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访问权来进行更改。