Неможливо встановити PIL після Mac OS X 10.9


132

Щойно я оновив свою Mac OS до 10,9, і я виявив, що деяких (усіх?) Моїх модулів Python вже немає, особливо Image 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

Мій Xcode є сучасним, і я поняття не маю. Чи можливо, що PIL ще не сумісний з 10.9?


Не відповідь, але ви пробували Подушку? pypi.python.org/pypi/Pillow/2.2.1 - це дуже добре підтримується для PIL.
— Джеймс Аддісон

4
@JamesAddison Подушка 2.2.1 аналогічно.
— Адам Дж. Форстер

ви хочетеpip install pillow
— кілоджоулі

На macos 10.10.5 Yosemite, pip install Pillow==5.0.0працює, встановлює .../site-packages/PIL. (Чому 5.0.0? Дивіться проблему ).
— деніс

Відповіді:


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 / Подушку з підтримкою 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 (який у мене є) або "Встановити". Я вибираю встановити. Він спливає EULA, я приймаю, тоді з'являється діалогове вікно про помилку: "Неможливо встановити програмне забезпечення, оскільки воно наразі недоступне на сервері оновлення програмного забезпечення."
— Мет Фейфарек

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 не встановлює інструменти командного рядка за замовчуванням. Мені довелося це зробити, щоб подолати ту саму проблему, що й ОП, хоча я, безумовно, вже встановив 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

але! після встановлення піп ...

*** 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
    --------------------------------------------------------------------

оновлено до вчерашніх днів, і саме сьогодні я починав проект, ви просто врятували мені години душевного болю ДЯКУЮ!
— javiercf

Це мені довелося зробити $> ARCHFLAGS = -Wno-error = unused-command-line-argument-hard-error-in future pip pillow install pillow
— Sudhir

1
Дякую! для використання 10.10: sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Head / X11 / usr / local / include / X11
— rozochkin

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 repo більше не отримує оновлення чи підтримку, тому слід використовувати Подушку. Нижче тепер застаріла, так що дотримуйтесь Подушки.

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/… .
— Багз Зайчик

Ви встановлюєте подушку чи подушку? PIL застарілий, я оновлю це.
— radtek

Не має значення. PIL або Подушка, певному поэплу все-таки може бути корисно вирішити проблему, що посилається на freetype / freetype2 Але дякую!
— Багс Зайчик

Так, я додав речі на кроці 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
Я, безумовно, віддаю перевагу такому підходу. Я ненавиджу робити спеціальне посилання на системні пакети ... ти ніколи не знаєш, що буде
— порушено

Зараз, здається, це погана 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 не вдалася.

Це трапляється, тому що кланг під новітньою версією xcode не попереджає про невідомі прапорці компілятора, а швидше зупиняє компіляцію із сильною помилкою.

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


5

Просто бігайте

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


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

Привіт Рчапман. При запуску 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.
— radtek

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 (я не користуюсь ним), і я не люблю поспілкуватися з каталогом Application. Я розповів про багато відповідей у ​​цій публікації, і наступні два кроки для мене працюють з 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? це мене засмучує. тьфу.
— bonbon.langes

Я робив своє оновлення xcode раніше, і я перезапустив Mac, навіть якщо не впевнений, що це корисно. Можливо, шлях до вашого X11 для вас не однаковий. Спробуйте деякі інші відповіді, можливо.
— Вінсент Одберт

1

Повторна відповідь @ Дмитра Демиденко про те, як це працювало для мене:

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 install setuptools --no-use-wheel --поновлення

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

Моя машина, яка нещодавно була оновлена ​​з ОС 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, а все інше, що мені потрібно.
— radtek

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
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 / включати"

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


0

Я перейшов з pyenvдо, virtualenvі це вирішило мою проблему.


-4
  1. ln -s / opt / X11 / include / X11 / usr / local / include / X11
  2. pip встановити pil без sudo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.