PIL kann nach Mac OS X 10.9 nicht installiert werden


132

Ich habe gerade mein Mac OS auf 10.9 aktualisiert und festgestellt, dass einige (alle?) Meiner Python-Module nicht mehr vorhanden sind, insbesondere das Image-Modul.

Also versuche ich auszuführen sudo pip install pil, aber ich bekomme diesen Fehler:

/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

Mein Xcode ist aktuell und ich habe keine Ahnung. Ist es möglich, dass PIL noch nicht 10.9-kompatibel ist?


Keine Antwort, aber haben Sie Pillow ausprobiert? pypi.python.org/pypi/Pillow/2.2.1 - es wird von PIL sehr gut unterstützt.
James Addison

4
@ JamesAddison Pillow 2.2.1 wird ähnlich ausgeführt.
Adam J. Forster

Sie wollenpip install pillow
Kilojoule

Auf Macos 10.10.5 funktioniert Yosemite pip install Pillow==5.0.0, installiert .../site-packages/PIL. (Warum 5.0.0? Siehe Problem ).
Denis

Antworten:


211

Folgendes hat bei mir funktioniert:

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

AKTUALISIEREN:

Aber es gibt unten eine korrektere Lösung, die von Will bereitgestellt wird.

Öffnen Sie Ihr Terminal und führen Sie Folgendes aus: xcode-select --install


2
Ihre Antwort hat einen Tippfehler, ist es MacOS10.9.sdknicht MacOS0.9.sdk.
Bryan Veloso

3
Wenn Sie auch ein PIL / Kissen mit zlib / png / zip-Unterstützung haben möchten, müssen Sie auch ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/zlib.h /usr/local/include/
Folgendes

26
Der vorgeschlagene Befehl ruft einen Fehlerdialog von Apple auf. Zuerst wird gefragt, ob ich XCode (den ich habe) oder "Installieren" erhalten möchte. Ich wähle installieren. Ich akzeptiere, dass eine EULA angezeigt wird. Anschließend wird ein Fehlerdialog angezeigt: "Die Software kann nicht installiert werden, da sie derzeit nicht auf dem Software Update-Server verfügbar ist."
Matt Feifarek

7
Ich bin auf einen Fehler gestoßen 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
Leonid

1
ln: / usr / local / include / X11: Keine solche Datei oder kein solches Verzeichnis Ich habe keine / usr / local / include / X11-Direcotry?
Ferkelfliege

102

Öffnen Sie Ihr Terminal und führen Sie Folgendes aus:

xcode-select --install


2
Die Frage betrifft nicht die Installation von Xcode, sondern PIL ... Außerdem erklärte ich, dass ich Xcode bereits installiert und auf dem neuesten Stand hatte.
Vincent Audebert

5
Dies löst auch das Problem (es installiert die Befehlszeilentools, die standardmäßig nicht mit Xcode installiert sind).
Rob Osborne

1
Das ist alles, was ich tun musste, nichts von all dem, was miteinander verbindet.
Joerick

@VincentShowcaseWorkshop Xcode installiert die Befehlszeilentools standardmäßig nicht. Ich musste dies tun, um das gleiche Problem wie bei den OPs zu überwinden, obwohl ich Xcode definitiv bereits unter Mac OS 10.9.2 installiert und auf dem neuesten Stand hatte.
Tony Adams

Dies behebt das Problem mit der Mac-Version 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

hilft mir! os x 10.9

pip install pillow

aber! nach der Pip Installation ...

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

und schließlich behebe ich es, indem ich laufe:

xcode-select --install

dann wieder Kissen installieren

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

Gestern auf Außenseiter aktualisiert und erst heute habe ich ein Projekt gestartet. Du hast mir gerade Stunden Herzschmerz erspart. DANKE!
Javiercf

Dies musste ich tun $> ARCHFLAGS = -Wno-error = unbenutztes-Befehlszeilen-Argument-harter-Fehler-in-Zukunft Pip Install Kissen
Sudhir

1
Vielen Dank! für 10.10 verwenden: sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers / X11 / usr / local / include / X11
Rozochkin

14

Funktioniert für mich (OS X Yosemite 10.10.2 - Python 2.7.9):

xcode-select --install
sudo pip install pillow

Versuchen Sie dies, um es zu überprüfen:

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

11

Folgendes habe ich getan: Einige Schritte sind möglicherweise nicht nur für PIL erforderlich, aber ich brauchte libpng und andere trotzdem:

1) Führen Sie die xcode-Installation aus, verwenden Sie diesen Befehl oder laden Sie Updates aus dem App Store herunter:

xcode-select --install

1b) Fügen Sie das optionale Tool "Befehlszeilentools" hinzu. In Mountain Lion war dies eine Option auf der xcode-Download-Seite. Jetzt müssen Sie sich mit Ihrer Apple-ID registrieren und von folgender Adresse herunterladen: https://developer.apple.com/downloads/

Suchen Sie nach Befehlszeilentools (OS X Mavericks) für Xcode

2) Installieren Sie alles, was für Python benötigt wird (mit Brew). Ich glaube, Sie können auch Port verwenden:

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

Trennen Sie die Verknüpfung / erneute Verknüpfung, falls erforderlich, dh bei einem Upgrade.

3) Installieren Sie Pip und die erforderlichen Module:

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

4) Schließlich funktioniert dies ohne Fehler:

sudo pip install Pillow

UPDATE 11/04/14: PIL Repo erhält keine Updates oder Unterstützung mehr, daher sollte Pillow verwendet werden. Das Folgende ist jetzt veraltet, also bleib bei Pillow.

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

UPDATE (ALT): Dasselbe gilt für die Installation von Pillow (PIL-Gabel) und sollte erwähnt werden, da es in den meisten Fällen von PIL schnell zu einem Ersatz wird. Führen Sie stattdessen Folgendes aus, anstatt pip in Schritt 4 zu installieren:

sudo pip install Pillow

Hoffe das hilft jemandem!


Schritt 4) kann mit etw enden _imagingft.c:73:10: fatal error: 'freetype/fterrors.h' file not found. Könnte aber nach stackoverflow.com/questions/20325473/… behoben werden .
Bugs Bunny

Installieren Sie Pil oder Kissen? PIL ist veraltet, ich werde dies aktualisieren.
Radtek

Ist egal. PIL oder Pillow, es kann für einige Leute immer noch nützlich sein, das Problem der Verknüpfung von Freetype / Freetype2 zu lösen. Aber danke!
Bugs Bunny

Ja, ich habe in Schritt 2 Dinge zum Aufheben der Verknüpfung / Verknüpfung beim Upgrade hinzugefügt. Wenn etwas fehlt, kannst du es bearbeiten und ich werde es akzeptieren?
Radtek

1
sudo pip install pil --allow-external pil --allow-unbestified pil hat mir 2015 geholfen
fun_vit

9

Die Installation von Befehlszeilentools hat das Problem für mich behoben

Sie müssen sie separat installieren, da sie jetzt nicht Teil der Pakete in xcode sind:

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


1
Ich bevorzuge definitiv diesen Ansatz. Ich hasse es, benutzerdefinierte Symlinks mit Systempaketen zu machen ... Sie wissen nie, was beim nächsten Update
kaputt

Das scheint jetzt eine schlechte URL zu sein.
Matt Feifarek

@ MattFeifarek diese URL hat heute für mich funktioniert. Ich musste mich mit einem Entwicklerkonto anmelden, wurde dann aber zur entsprechenden Download-Seite für Befehlszeilentools weitergeleitet.
Tony Adams

8

Keiner von denen arbeitete für mich. Ich erhielt immer wieder:

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

Also habe ich eine Lösung mit der folgenden Lösung gefunden:

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

Auf diese Weise konnte ich installieren.


Dies ist derjenige, der es für mich behoben hat. Wenn Sie eine virtuelle Umgebung ausführen, benötigen Sie den Befehl sudo nicht.
Eric

Danke dir! Dies funktioniert beim Ausführen einer virtuellen Python-Umgebung. Ich hatte derzeit keinen Xcode installiert, daher habe ich mir die Downloadzeit gespart.
Jamie Counsell

Dies funktioniert hervorragend für alten Xcode in 10.8. Hat es für Mavericks funktioniert?
Radtek

6

Ich hatte ein ähnliches Problem: Die Installation von Pillow schlug fehl clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future], die Installation von Befehlszeilentools schlug fehlCan't install the software because it is not currently available from the Software Update server. und selbst nach der manuellen Installation der Befehlszeilentools schlug die Kompilierung von PIL fehl.

Dies geschieht, weil das Klirren unter der neuesten Version von xcode nicht vor unbekannten Compiler-Flags warnt, sondern die Kompilierung mit einem schweren Fehler stoppt.

Um dies zu beheben, führen Sie einfach export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future"das Terminal aus, bevor Sie versuchen, es zu kompilieren (pil zu installieren).


5

Einfach laufen

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


3

Dies sind meine Schritte auf 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

Sie können Homebrew verwenden, um die Installation von http://brew.sh durchzuführen

brew tap Homebrew/python
brew install pillow

Hallo rchapman. Wenn ich laufe brew, um samueljohn / python / pillow zu installieren, gibt es eine Warnung wie : pillow-2.5.1 already installed, it's just not linked. Und davor gibt es 15 Warnungen wie : Could not tap homebrew/python/cpyrit-cuda over samueljohn/python/cpyrit-cuda. Irgendwelche Ideen, warum das passiert? Oder wie kann ich Kissen verbinden?
0xmtn

2

Stellen Sie sicher, dass auf Ihrem xcode Befehlszeilentools installiert sind. Führen Sie dann Folgendes aus:

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

Ich konnte es ohne Befehlszeilentools mit dem Xcode für Mavericks installieren.
Radtek

2

Ich hatte den folgenden Fehler

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

Die Lösung hierfür bestand darin, freetype2 mit freetype zu verknüpfen, und dies löste das Problem.


2

Ich wollte XCode nicht installieren (ich benutze es nicht) und bin nicht bereit, mit dem Anwendungsverzeichnis herumzuspielen. Ich habe aus den vielen Antworten in diesem Beitrag herausgeschnitten und die folgenden zwei Schritte funktionieren für mich mit 10.9.5:

sudo easy_install pip
sudo pip install pillow

Es kam mir seltsam vor, dass ich easy_install verwenden musste, um pip zu installieren. Aber pip wollte vor dieser (Neu-) Installation nicht für mich arbeiten.


1

Die Lösung gefunden ... Sie müssen X11 so symlinken ln -s /opt/X11/include/X11 /usr/local/include/X11und sudo pip install pilsollten dann funktionieren.


funktioniert nicht für mich ... hast du deinen xcode aktualisiert, bevor er funktioniert? Hast du deinen Mac oft neu gestartet? das frustriert mich ughs.
bonbon.langes

Ich habe mein Xcode-Update bereits durchgeführt und meinen Mac neu gestartet, auch wenn ich nicht sicher bin, ob es hilfreich ist. Vielleicht ist der Weg zu Ihrem X11 für Sie nicht der gleiche. Versuchen Sie vielleicht einige der anderen Antworten.
Vincent Audebert

1

Wiederverwenden der Antwort von @ DmitryDemidenko, so hat es bei mir funktioniert:

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

und dann

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

1

Führen Sie die folgenden Befehlszeilen aus. Funktioniert wie ein Zauber unter Mac OS 10.9.5

easy_install pip

sudo pip install setuptools - no-use-rad --upgrade

sudo pip install Pillow

Am besten, Theo


0

Das ist, was ich tat:

Erstes Upgrade auf Xcode 5 (ich verwende 10.9). Führen Sie dann die folgenden Befehle in einem Terminal aus:

$ /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
Eine ähnliche Antwort wurde vor zwei Wochen gegeben und akzeptiert. Ich sehe Ihren zusätzlichen Wert nicht ...
Soravux

Nun, diese Antwort hat andere Wege als der akzeptierte. Ich habe diese Version als Kommentar zur akzeptierten Antwort hinzugefügt. Der Befehl istsudo 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

Eine vollständigere Lösung erfordert die Installation des Xquartz X11-Subsystems, das seit mehreren Jahren außerhalb von Apple entwickelt wurde. Hier sind die Schritte, mit denen ich alles zum Laufen gebracht habe

  1. Installieren Sie XQuartz von http://xquartz.macosforge.org/landing/
  2. Lauf sudo pip install pillow

0

Da die akzeptierte Antwort die richtige ist, können xcode-select --installaber einige Leute (einschließlich ich) begegnenCan't install the software because it is not currently available from the Software Update server Wenn Sie Beta-Software verwenden (da ich jetzt Yosemite verwende und das gleiche Problem hatte), MÜSSEN Sie das CLT separat erhalten, da es NICHT in enthalten ist XCode (sogar Xcode Beta) Gehen Sie zu developer.apple.com und holen Sie sich CLT-Tools für Ihr Betriebssystem;)

PS Sie benötigen XQuartz nicht, damit PIL oder Pillow funktionieren



0

Installieren Sie stattdessen Pillow :

sudo pip install pillow

Sie benötigen noch die gesamte
Vorkonfiguration

@radtek nein du nicht auf Mac 10.9. Haben Sie den Befehl tatsächlich ausprobiert, bevor Sie meine Antwort abgelehnt haben?
Bobo

Ich habe deine Antwort nicht abgelehnt, ich habe gestimmt, aber ja, ich habe es versucht. Ich habe das jetzt tatsächlich ein paar Mal gemacht und ich brauchte eigentlich nicht Schritt 1b, sondern alles andere, was ich brauchte.
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

Versuche dies:

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

3
Bitte fügen Sie etwas mehr hinzu und erklären Sie, warum er das tun sollte.
Sir l33tname

0
sudo pip uninstall pillow
pip install pillow

arbeitete für mich. Ich verwende Python 2.7.9 auf Yosemite. import PILarbeitet jetzt für mich.


0

Installieren von PIL (Imaging.1.1.7) unter Mac OSC 10.10 Yosemite. Ich habe zahlreiche hier empfohlene Korrekturen ausprobiert, bin jedoch bei jeder auf Probleme gestoßen. Ich habe dieses Problem endlich gelöst, indem ich die Datei setup.py so bearbeitet habe, dass:

TCL_ROOT = "/ opt / X11 / include"

Dies übergibt den entsprechenden Include-Pfad für X11 in der Kompilierung von _imagingtk.c, was das Problem für mich verursacht hat. Arbeitete sofort nach dem Wechsel.


0

Ich bin von pyenvnach umgezogen virtualenvund dies hat mein Problem behoben.


-4
  1. In -s / opt / X11 / include / X11 / usr / local / include / X11
  2. pip install pil ohne sudo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.