Не удается установить PIL после Mac OS X 10.9


132

Я только что обновил свою Mac OS до 10.9 и обнаружил, что некоторые (все?) Мои модули Python больше не присутствуют, особенно Image.

Я пытаюсь выполнить sudo pip install pil, но получаю такую ​​ошибку:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/tk.h:78:11: fatal error: 'X11/Xlib.h' file not found

#      include <X11/Xlib.h>

               ^

1 error generated.

error: command 'cc' failed with exit status 1

Мой X-код является современным, и я понятия не имею. Возможно ли, что PIL еще не совместим с 10.9?


Не ответ, но вы пробовали Pillow? pypi.python.org/pypi/Pillow/2.2.1 - это очень хорошо поддерживается для PIL.
Джеймс Аддисон

4
@JamesAddison Pillow 2.2.1 выполняется аналогичным образом.
Адам Дж. Форстер

Вы хотитеpip install pillow
килоджоулей

На macos 10.10.5 Yosemite, pip install Pillow==5.0.0работает, устанавливает .../site-packages/PIL. (Почему 5.0.0? Смотрите проблему ).
denis

Ответы:


211

Следующее сработало у меня:

ln -s  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /usr/local/include/X11
sudo pip install pil

ОБНОВИТЬ:

Но ниже есть более правильное решение, предоставленное Уиллом.

откройте свой терминал и выполните: xcode-select --install


2
В вашем ответе опечатка, это MacOS10.9.sdkне так MacOS0.9.sdk.
Брайан Велозо

3
Если вы также хотите иметь подушку PIL / Pillow с поддержкой zlib / png / zip, вам также необходимо сделать следующее:ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/zlib.h /usr/local/include/
gromgull

26
предложенная команда вызывает диалог ошибки от Apple. Сначала он спрашивает, хочу ли я получить XCode (который у меня есть) или «Установить». Я выбираю установить. Появляется лицензионное соглашение, я принимаю, затем появляется диалоговое окно с ошибкой: «Не удается установить программное обеспечение, потому что оно в настоящее время недоступно с сервера обновления программного обеспечения».
Мэтт Фейфарек

7
Я обнаружил ошибку Downloading/unpacking pil Could not find any downloads that satisfy the requirement pil Some externally hosted files were ignored (use --allow-external pil to allow). Cleaning up... No distributions at all found for pil Storing debug log for failure in /Users/Usermania/.pip/pip.log
Леонид

1
ln: / usr / local / include / X11: Нет такого файла или каталога. У меня нет / usr / local / include / X11 direcotry?
поросенок

102

откройте свой терминал и выполните:

xcode-select --install


2
Вопрос не в установке Xcode, а в PIL ... Более того, я объяснил, что у меня уже установлен Xcode и он обновлен.
Винсент Одеберт

5
Это также решает проблему (он устанавливает инструменты командной строки, которые не устанавливаются по умолчанию с Xcode).
Роб Осборн

1
Это все, что мне нужно было сделать, никаких ссылок на символические ссылки.
joerick

@VincentShowcaseWorkshop Xcode по умолчанию не устанавливает инструменты командной строки. Мне пришлось сделать это, чтобы решить ту же проблему, что и OP, хотя я определенно уже установил Xcode и обновил его до Mac OS 10.9.2.
Тони Адамс

Это устраняет проблему с Mac версии 10.11.2 (15C50).
webtweakers

34
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11/ /usr/local/include/X11

помогает мне! ОС х 10,9

pip install pillow

но! после установки pip ...

*** ZLIB (PNG/ZIP) support not available

и, наконец, я исправил это, запустив:

xcode-select --install

затем переустановите подушку

pip install pillow

PIL SETUP SUMMARY
    --------------------------------------------------------------------
    version      Pillow 2.2.1
    platform     darwin 2.7.5 (default, Aug 25 2013, 00:04:04)
                 [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)]
    --------------------------------------------------------------------
    --- TKINTER support available
    --- JPEG support available
    --- ZLIB (PNG/ZIP) support available
    --- TIFF G3/G4 (experimental) support available
    --- FREETYPE2 support available
    --- LITTLECMS support available
    --- WEBP support available
    --- WEBPMUX support available
    --------------------------------------------------------------------

вчера обновился до mavericks, и только сегодня я начинал проект, вы сэкономили мне несколько часов сердечной боли СПАСИБО!
javiercf

Это я должен был сделать $> ARCHFLAGS = -Wno-ошибка = неиспользованными-командной строки аргументов твердолобый ошибок в будущем-пип установить подушку
Судир

1
Спасибо! для использования в версии 10.10: / X11 / usr / local / include / X11
розочкин

14

У меня работает (OS X Yosemite 10.10.2 - Python 2.7.9):

xcode-select --install
sudo pip install pillow

Попробуйте это проверить:

from PIL import Image
image = Image.open("file.jpg")
image.show()

11

Вот что я сделал, некоторые шаги могут быть необязательными только для PIL, но мне все равно нужен libpng и другие:

1) Запустите установку xcode, используйте эту команду или загрузите обновления из магазина приложений:

xcode-select --install

1b) Добавьте дополнительный инструмент «Инструменты командной строки», в Mountain Lion это была опция на странице загрузки xcode, но теперь вам нужно зарегистрироваться с идентификатором Apple и скачать с: https://developer.apple.com/downloads/

Найдите инструменты командной строки (OS X Mavericks) для Xcode

2) Установите все необходимое для python (используя brew), я считаю, что вы также можете использовать порт:

brew install readline sqlite gdbm
brew install python --universal --framework 
brew install libpng jpeg freetype

Отключите / повторно установите связь, если необходимо, например, при обновлении.

3) Установите Pip и необходимые модули:

easy_install pip 
sudo pip install setuptools --no-use-wheel --upgrade

4) Наконец, это работает без ошибок:

sudo pip install Pillow

ОБНОВИТЬ 11/04/14: репозиторий PIL больше не получает обновлений или поддержки, поэтому следует использовать Pillow. Приведенное ниже теперь устарело, поэтому придерживайтесь Pillow.

sudo pip install pil --allow-external pil --allow-unverified pil

ОБНОВИТЬ (СТАРЫЙ): То же самое относится и к установке подушки (вилка PIL) и должно быть упомянуто, поскольку она быстро становится заменой в большинстве случаев PIL. Вместо установки pip на шаге 4 запустите это:

sudo pip install Pillow

Надеюсь, это поможет кому-то!


Шаг 4) может заканчиваться чем-то вроде _imagingft.c:73:10: fatal error: 'freetype/fterrors.h' file not found. Но может быть решена следующим образом: stackoverflow.com/questions/20325473/… .
Bugs Bunny

вы устанавливаете подушку или подушку? PIL устарел, я обновлю это.
radtek

Не имеет значения PIL или Pillow, некоторым пользователям может быть полезно решить проблему симлинков freetype / freetype2. Но спасибо!
Bugs Bunny

Да, я добавил кое-что на шаге 2 для отключения / связывания при обновлении. Если чего-то не хватает, можно отредактировать, и я приму?
radtek

1
sudo pip install pil --allow-external pil --allow-непроверенный pil помог мне в 2015 году
fun_vit

9

установка инструментов командной строки устранила проблему для меня

вам нужно установить их отдельно, так как они не являются частью пакетов в xcode:

https://developer.apple.com/downloads/index.action?=command%20line%20tools#


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

Похоже, сейчас это плохой URL.
Мэтт Фейфарек

@MattFeifarek, этот URL работал у меня сегодня. Мне пришлось войти в систему с учетной записью разработчика, но затем я перешел на страницу загрузки соответствующих инструментов командной строки.
Тони Адамс

8

Ни один из них у меня не работал .. Я продолжал получать:

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

Итак, я нашел работу со следующим решением:

sudo export CFLAGS=-Qunused-arguments
sudo export CPPFLAGS=-Qunused-arguments
sudo pip install PIL --allow-external PIL --allow-unverified PIL

Таким образом я смог установить.


Это тот, который исправил это для меня. Если вы используете виртуальную среду, вам не нужна команда sudo.
Эрик

Спасибо! Это работает в виртуальной среде Python. В настоящее время у меня не установлен Xcode, поэтому я сэкономил время на загрузку.
Джейми Каунселл

Это отлично работает для старого xcode в 10.8, сработало ли это для Mavericks?
radtek

6

У меня была похожая проблема: установка подушки завершилась неудачно clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future], установка инструментов командной строки не удалась Can't install the software because it is not currently available from the Software Update server., и даже после ручной установки инструментов командной строки компиляция PIL не удалась.

Это происходит потому, что clang в новейшей версии xcode не предупреждает о неизвестных флагах компилятора, а скорее останавливает компиляцию с серьезной ошибкой.

Чтобы исправить это, просто запустите export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future"в терминале перед попыткой компиляции (установкой пилота).



3

Это мои шаги на Mac OS 10.9.1

1. sudo su
2. easy_install pip
3. xcode-select --install
4. pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL

2

Вы можете использовать Homebrew для установки http://brew.sh

brew tap Homebrew/python
brew install pillow

Привет, rchapman. При запуске brewустановки samueljohn / питон / подушку, он выдает предупреждение , как: pillow-2.5.1 already installed, it's just not linked. А до этого, есть 15 предупреждений , как: Could not tap homebrew/python/cpyrit-cuda over samueljohn/python/cpyrit-cuda. Есть идеи, почему это происходит? Или как связать подушку?
0xmtn

2

Убедитесь, что у вас есть инструменты командной строки, установленные на вашем xcode. Затем выполните:

sudo pip install pil --allow-external pil --allow-unverified pil

Мне удалось установить его без инструментов командной строки, используя Xcode для Mavericks.
Радтек

2

У меня была следующая ошибка

building 'PIL._imagingft' extension
_imagingft.c:62:10: fatal error: 'freetype/fterrors.h' file not found

#include <freetype/fterrors.h>

         ^

1 error generated.

error: command 'cc' failed with exit status 1

Решением этой проблемы была символическая ссылка freetype2 на freetype, и это решило проблему.


2

Я не хотел устанавливать XCode (я его не использую), и я не хочу возиться с каталогом приложений. Я набрал много ответов в этом посте, и следующие 10 шагов работают для меня с 10.9.5:

sudo easy_install pip
sudo pip install pillow

Мне показалось странным, что мне пришлось использовать easy_install для установки pip. Но pip не хотел работать у меня до этой (пере) установки.


1

Нашел решение ... Вы должны сделать символическую ссылку на X11 вот так, ln -s /opt/X11/include/X11 /usr/local/include/X11и тогда все sudo pip install pilдолжно работать.


не работает для меня ... вы обновили свой xcode, прежде чем заставить его работать? Вы много раз перезагружали свой Mac? это меня расстраивает. ughs.
bonbon.langes

Раньше я обновлял xcode и перезапускал свой Mac, даже если я не уверен, что это полезно. Возможно, путь к вашему X11 для вас не тот. Возможно, попробуйте другие ответы.
Винсент Одеберт

1

Повторное использование ответа @ DmitryDemidenko, как это сработало для меня:

ln -s  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /usr/local/include/X11

а потом

sudo pip install -U PIL --allow-external PIL --allow-unverified PIL

1

Выполните следующие командные строки. Прекрасно работает на Mac OS 10.9.5

easy_install pip

sudo pip установить setuptools --no-use-wheel --upgrade

sudo pip установить подушку

Бест, Тео


0

Вот что я сделал:

Первое обновление до Xcode 5 (у меня работает 10.9). Затем выполните в терминале следующие команды:

$ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
$ ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 usr/include/

1
Аналогичный ответ был дан и принят две недели назад. Я не вижу дополнительной ценности вашего ...
Soravux

Что ж, у этого ответа разные пути, чем у принятого. Я добавил эту версию в качестве комментария к принятому ответу. Командаsudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/X11
osa

0

Более полное решение требует установки подсистемы Xquartz X11, которая уже несколько лет создается вне Apple. Вот шаги, которые я использовал, чтобы все заработало

  1. Установите XQuartz с http://xquartz.macosforge.org/landing/
  2. Бегать sudo pip install pillow

0

Поскольку принятый ответ является правильным, xcode-select --installно некоторые люди (включая меня) могут столкнуться с ним. Can't install the software because it is not currently available from the Software Update server Если вы используете бета-версию программного обеспечения (поскольку я сейчас использую Yosemite и имел ту же проблему), вам НУЖНО получить CLT отдельно, поскольку он НЕ включен в XCode (даже бета-версия xcode) Перейдите на developers.apple.com и получите инструменты CLT для своей ОС;)

PS Вам не нужен XQuartz для работы PIL или Pillow


0

Моя машина, которая недавно была обновлена ​​с OS 10.8 -> 10.9, застряла в петле между xcrun и lipo.

Переименуйте / usr / bin / lipo в / usr / bin / lipo_broken

Обратитесь к этой теме для получения дополнительной информации о том, как решить:

xcrun / lipo зависает с OS X Mavericks и XCode 4.x


0

Вместо этого установите подушку :

sudo pip install pillow

Вам все еще нужны все предварительные настройки, как для PIL
radtek

@radtek нет, ты не на Mac 10.9. Вы на самом деле пробовали команду, прежде чем понизили мой ответ?
Бобо

Я не проголосовал за твой ответ, я проголосовал за, но да, я попробовал. На самом деле я делал это несколько раз, и на самом деле мне не нужен был шаг 1b, а все остальное, что мне было нужно.
Радтек

0
ln -s /usr/local/include/freetype2 /usr/local/include/freetype
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pil

0

Попробуй это:

ln -s /usr/local/include/freetype2 /usr/local/include/freetype

3
Пожалуйста, добавьте немного больше и объясните, почему он должен это делать.
Сэр l33tname

0
sudo pip uninstall pillow
pip install pillow

работал на меня. Я использую Python 2.7.9 на Yosemite. import PILтеперь у меня работает.


0

Установка PIL (Imaging.1.1.7) на Mac OSC 10.10 Yosemite. Я пробовал множество рекомендованных здесь исправлений, но с каждым из них возникали проблемы. Я наконец решил эту проблему, отредактировав файл setup.py таким образом, чтобы:

TCL_ROOT = "/ opt / X11 / include"

который передает соответствующий путь включения для X11 в компиляцию _imagingtk.c, что вызывало у меня проблему. Сработало сразу после смены.



Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.