Установка Pillow/PIL на Mavericks

Я получаю странную ошибку при попытке установить Pillow с помощью pip/easy_install:

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

Я прочитал все ответы на символические ссылки, я установил инструменты командной строки, похоже, ничего не работает. Я всегда получаю эту ошибку.


person Tyler Sebastian    schedule 11.03.2014    source источник
comment
@patsweet Я прошел туда и перепробовал все комментарии. xcode-select --install у меня даже не работает - ПО недоступно с сервера обновлений   -  person Tyler Sebastian    schedule 11.03.2014
comment
вы рассматривали возможность использования MacPorts?   -  person MattDMo    schedule 11.03.2014
comment
Странный. Ваша настройка Path включает инструменты командной строки? Кроме того, как у вас установлен Python. Я только что установил новый MacBook Pro и использовал Homebrew для настройки Python и различных других инструментов, и очень рекомендую его.   -  person patsweet    schedule 11.03.2014
comment
@MattDMo Нет, люди добились успеха и без него, поэтому я держусь.   -  person Tyler Sebastian    schedule 11.03.2014
comment
Единственная другая вещь, о которой я могу думать, это убедиться, что cc и gcc либо находятся в /usr/bin, либо имеют символическую ссылку. Что вы получаете, когда запускаете which cc или which gcc?   -  person patsweet    schedule 11.03.2014
comment
/usr/bin/cc и /usr/bin/gcc   -  person Tyler Sebastian    schedule 11.03.2014


Ответы (5)


Я решил эту проблему следующим образом. Вероятно, это как-то связано с сегодняшним обновлением инструментов командной строки Mavericks. Попробуйте добавить в терминал следующее перед выполнением установки pip:

export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments
person jussi    schedule 12.03.2014
comment
Это решило проблему и для меня! Тайлер, вернись и отметь этот ответ как правильный. Я на 10.8.5 (последнее обновление OSX, которое исправило ошибку перехода к ошибке) и столкнулся с той же проблемой. Кто-нибудь знает, в чем была настоящая проблема? - person Keenan; 01.04.2014
comment
У меня была эта проблема слишком долго, и это решает ее! Спасибо за это :) Обратите внимание, что мне пришлось установить его с помощью: pip install PIL --allow-external PIL --allow-unverified PIL - person vinyll; 09.04.2014
comment
Это сработало для меня на Mavericks. Хотя мне понадобилось время, чтобы добраться сюда. Мой Linux-сервер даже не моргнул при установке этого. - person joel3000; 03.05.2014

Запустите эту команду в терминале:

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

person mrgnw    schedule 15.04.2014
comment
Спасибо, у меня работает и решил эту проблему github.com/facebook/screenshot -tests-for-android/issues/41 - person durbon; 13.08.2016

Помимо @jussi, мне пришлось открыть терминал и сделать следующее:

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

Только тогда можно было бы правильно запустить «подушку установки pip»

Если бы я не запускал это с помощью приглашения суперпользователя, я бы получил следующую ошибку:

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

Я использую OSX 10.9.2 с установленными инструментами командной строки за март 2014 года. У меня также установлен Homebrew, если это имеет значение.

person Javier    schedule 12.03.2014
comment
Вам нужно только sudo при установке на системный python, не требуется при использовании virtualenv. - person jussi; 24.03.2014
comment
2 дня поисков и эта маленькая мелочь решила именно эту проблему. - person Jamie S; 03.07.2014

Проверьте пиво http://brew.sh

brew tap Homebrew/python
brew install pillow
person rchapman    schedule 14.03.2014

Ни одно из этих решений не сработало для меня. Наконец-то я установил его с помощью этот пост:

Я обнаружил ту же проблему, пытаясь собрать MySQLdb с последними обновлениями Xcode и ОС. Вот обходной путь, который включает удаление флага из установки python.

В /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py есть несколько мест, где установлен флаг -mno-fused-madd. Если вы отредактируете этот файл и удалите все ссылки на этот флаг, ваша компиляция должна работать. Вам также необходимо удалить соответствующий файл _sysconfigdata.pyc — по крайней мере, в моей системе этот файл не перестраивался автоматически. Обратите внимание, что для внесения этих изменений необходимо использовать root-доступ.

person eugeneration    schedule 09.04.2014