Неможливо встановити 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.