web-dev-qa-db-de.com

Fehler beim Installieren der Python Image Library mit pip unter Mac OS X 10.9

Ich möchte PIL mit pip auf Mavericks installieren, erhalte aber diesen Fehler.

_imagingft.c:73:10: fatal error: 'freetype/fterrors.h' file not found
#include <freetype/fterrors.h>
         ^
1 error generated.
error: command 'cc' failed with exit status 1

Meine Befehlszeilentools sind installiert und auf dem neuesten Stand. Jeder Hinweis, den ich gefunden habe, hat nicht geholfen. Wie kann ich das kompilieren lassen?

EDIT: Ich habe gerade geprüft, Freetype ist auch schon via Homebrew installiert

78
Lukas Spieß

Anstatt eine Verknüpfung zu einer bestimmten Version von freetype2 herzustellen, gehen Sie wie folgt vor:

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

Dies erspart Ihnen die Mühe, den Symlink bei jedem Upgrade von freetype2 neu zu erstellen.

210
mcuelenaere

Mit macports funktionierte die Lösung für mich:

Sudo port install freetype
Sudo ln -s /opt/local/include/freetype2 /opt/local/include/freetype

Führen Sie dann den PIL-Erstellungsprozess erneut aus.

31
Mike Fogel

Ich habe dieses Problem mit diesem Symlink gelöst:

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

Ich habe Freetype auch schon über Homebrew installiert.

28
Dmitry Akinin

Dies wird durch eine Änderung der Überschriften von freetype> = 2.1.5 verursacht. PIL verwendet nicht die korrekt dokumentierte Methode, um die Freetype-Header einzuschließen. Dies führt dazu, dass der Build fehlschlägt, da Freetype die lang veraltete Methode zum Einschließen der Header endgültig entfernt hat. Dieses Problem ist oben in http://freetype.sourceforge.net/freetype2/docs/tutorial/step1.html dokumentiert:

HINWEIS: Ab FreeType 2.1.6 wird das alte Schema für die Aufnahme von Header-Dateien nicht mehr unterstützt. Dies bedeutet, dass Sie jetzt eine Fehlermeldung erhalten, wenn Sie Folgendes tun:

#include <freetype/freetype.h>
# include <freetype/ftglyph.h>

Bitte übermitteln Sie dieses Problem den Entwicklern von PIL und raten Sie ihnen, die dokumentierte Methode zum Einfügen von Freetype-Headern zu verwenden:

#include <ft2build.h>
#include FT_ERRORS_H

5
neverpanic

Nach vielen Versuchen habe ich dieses Problem gelöst, indem ich die PIL ohne Freetype-Unterstützung kompiliert habe. Dazu habe ich einfach die Verknüpfung zu meinem $ PATH mit brew unlink freetype Und dann mit pip install PIL==1.1.7 Aufgehoben.

4
diegofleury

Ich habe dies mit den in this Stackoverflow answer beschriebenen Schritten gelöst. Dies ist anscheinend die Schuld von Xcode für die Installation von freetype an fremden Orten.

3
Lukas Spieß

Verwenden Sie Kissen , wenn dieses Problem "für echt" behoben ist:

Und wo Sie Probleme melden und rechtzeitig beheben können:

3
aclark

In meinem OSx habe ich die Datei .h Im Verzeichnis /opt/local/include/freetype2 Gefunden. Tu, ich tippe

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

es klappt

Vielleicht ist der beste Weg, /opt/local/include Zu Ihrem Clang-Include-Pfad hinzuzufügen.

2
blowyourheart

osx yosemite, das hat bei mir funktioniert:

(virtualenv)

$ ln -s /opt/local/include/freetype2/ /usr/local/include/freetype2
$ pip install pil==1.1.7 --allow-external pil --allow-unverified pil
1
Ilja

Wenn Sie immer noch nach Antworten suchen, wie ich sie nach dem Lesen dieses und anderer Google-Artikel gefunden habe, könnte Sie Folgendes interessieren:

Warnung

Pillow> = 2.1.0 unterstützt nicht mehr das Importieren von Bildern. Verwenden Sie stattdessen "from PIL.Image import core as _imaging".

von hier

Wenn Sie dies lesen, wird sich die Seite wahrscheinlich geändert haben, aber der Text wird zumindest noch hier sein.

0
volvox

Ich benutze Arch Linux und hatte dieses Problem. In meinem Fall musste die Zip-Datei von https://pypi.python.org/pypi/Pillow/2.2.1#downloads manuell heruntergeladen und entpackt werden. Ich habe dann die Datei _imagingft.c Bearbeitet, um den Include-Pfad von freetype/fterrors.h In fterrors.h Zu ändern, da es kein freetype -Unterverzeichnis von /usr/include/freetype2 Gab, in dem fterrors.h Wurde gefunden. Schließlich hat python setup.py install Gut funktioniert.

Bearbeiten: Ich sollte erwähnen, dass dies die Lösung für die Installation von Pillow war, nicht von PIL, aber Pillow ist nur eine Abzweigung von PIL und es ist möglicherweise immer noch auf andere mit diesem Problem anwendbar.

0
Beau