Ошибка установки Pillow (и PIL)

Если я использую команду sudo pip install Pillow, она работает нормально до этапа очистки: (это полное сообщение об ошибке из файла журнала)

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

----------------------------------------

Cleaning up...
Removing temporary dir /private/tmp/pip_build_root...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/tmp/pip_build_root/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-VaD2jT-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/tmp/pip_build_root/Pillow
Exception information:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 283, in run
requirement_set.install(install_options, global_options, root=options.root_path)
  File "/Library/Python/2.7/site-packages/pip/req.py", line 1435, in install
requirement.install(install_options, global_options, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/pip/req.py", line 706, in install
cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "/Library/Python/2.7/site-packages/pip/util.py", line 697, in call_subprocess
% (command_desc, proc.returncode,`enter code here` cwd))
InstallationError: Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/tmp/pip_build_root/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-VaD2jT-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/tmp/pip_build_root/Pillow

У меня установлены инструменты командной строки xcode. На самом деле застрял на этом.

----ОБНОВЛЕНИЕ---- Запустил brew doctor и сбросил все ошибки. Все необходимые компоненты Pillow успешно установлены.

Вот заполненный файл pip.log: http://pastebin.com/08XD9JjM


person Waddas    schedule 21.03.2014    source источник
comment
Установлен ли gcc?   -  person der_fenix    schedule 21.03.2014
comment
@der_fenix yes в каталоге /usr/bin   -  person Waddas    schedule 21.03.2014


Ответы (3)


У меня та же проблема. Кажется, это проблема, вызванная clang с Xcode 5.1. Посмотрите на ответ на этот вопрос:

Ошибка установки OS X Pillow

Моя проблема решается с помощью команды в этом ответе:

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install Pillow

Выдает много предупреждений. Но все в порядке.

person hankbao    schedule 04.04.2014

Нашел решение:

brew install python

После запуска brew doctor показало, что из-за новой установки остались несвязанные кеги. Чтобы исправить это, мне пришлось запустить brew link --overwrite python.

я мог тогда запустить sudo pip install Pillow без каких-либо проблем.

person Waddas    schedule 21.03.2014

EDIT: похоже, что это известная проблема для Mac OS X, связанная либо с XCode 5.1, либо с Mavericks 10.9: https://github.com/python-imaging/Pillow/Issues/527

Это, по-видимому, самый неинвазивный способ решить проблему:

У меня была такая же проблема, и я обнаружил, что настройка «CFLAGS=-Qunused-arguments» и «CPPFLAGS=-Qunused-arguments» решила мою проблему (я не хотел выполнять чистую установку, чтобы решить ее). Это исправление описано здесь: Ansible Installation -clang: error: unknown аргумент: '-mno-fused-madd'


Оригинальный ответ:

Похоже, вы пытаетесь установить Pillow на Mac OS X. Установили ли вы все необходимые компоненты, согласно Инструкции по установке Pillow в Mac OS X?

pip должен был написать больше вывода об ошибке компиляции, если не в консоль, то в свой файл журнала. Вам также следует просмотреть файл журнала и опубликовать соответствующие сообщения об ошибках компиляции в своем вопросе, чтобы помочь в определении проблемы.

person gotgenes    schedule 21.03.2014
comment
Я вставил полный файл pip.log в pastebin - person Waddas; 21.03.2014
comment
@Waddas Я обновил свой ответ, чтобы указать вам на проблему GitHub, отслеживающую эту проблему, а также на один из нескольких обходных путей. - person gotgenes; 22.03.2014