Удалить ppc из флагов компиляции в скриптах установки python - PullRequest
8 голосов
/ 31 июля 2009

Я пытаюсь установить PIL на компьютере Intel Mac OS X Leopard. К сожалению, «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 на моей машине (и я не хочу их устанавливать). Как я могу сказать setup.py, чтобы он делал только i386?

Я посмотрел в /Library/Frameworks/Python.framework файл конфигурации безрезультатно.

Ответы [ 2 ]

19 голосов
/ 27 апреля 2011

Решение, которое работало для меня, было:

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

Просто передайте значения для флага прямо в командной строке.

2 голосов
/ 31 июля 2009

Самое простое решение (для одного или нескольких файлов C) - скопировать строку компилятора, отредактировать и вызвать ее вручную, а затем снова запустить setup.py - он должен заметить, что этот шаг уже выполнен.

Чтобы файл setup.py больше не использовал эти параметры, вам нужно изменить Makefile в каталоге конфигурации Python и удалить параметры.

...