8

我正在尝试在 Intel Mac OS X Leopard 机器上安装 PIL。不幸的是,“setup.py build”认为它应该为 ppc 编译。

gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -DHAVE_LIBJPEG -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -I/opt/local/include/freetype2 -IlibImaging -I/sw/include -I/opt/local/include -I/Users/adam/Development/pinax-env/include -I/usr/local/include -I/usr/include -I/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -c libImaging/GifEncode.c -o build/temp.macosx-10.3-i386-2.5/libImaging/GifEncode.o

这失败了,因为我的机器上没有可用的 ppc arch 文件(我也不想安装它们)。我如何告诉 setup.py 只做 i386?

我在 /Library/Frameworks/Python.framework 中查看了配置文件,但无济于事。

4

2 回答 2

19

对我有用的解决方案是:

ARCHFLAGS="-arch i386 -arch x86_64" python setup.py build

只需在命令行中传递标志的值即可。

于 2011-04-27T18:07:07.150 回答
2

最简单的解决方案(对于单个或几个 C 文件)是复制编译器行,编辑它,然后手动调用它,然后再次运行 setup.py - 它应该注意到这一步已经完成。

要使 setup.py 不再使用这些选项,您需要更改 Python 配置目录中的 Makefile,并删除这些选项。

于 2009-07-31T18:40:10.370 回答