从python安装脚本中的编译标志中删除ppc

Ada*_*son 8 python python-imaging-library

我正在尝试在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
Run Code Online (Sandbox Code Playgroud)

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

我在/Library/Frameworks/Python.framework中查找配置文件无济于事.

Mel*_*Mel 19

对我有用的解决方案是:

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

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


Mar*_*wis 2

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

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

  • 系统设置为源 `/System/Library/Frameworks/Python.framework/Versions/xy/lib/pythonx.y/distutils/sysconfig.py` (其中 xy 是您的 python 版本)。ARCHFLAGS 是受支持的覆盖,如果您想删除所有版本的“-arch ppc”,请将其从 sysconfig.py 文件中删除。梅尔·沃克的答案是正确的。 (3认同)