Während der Aktualisierung der python imaging library (PIL), es sagt mir, "JPEG-Unterstützung nicht verfügbar"
Benutze ubuntu 13.10, python-2.7.5:
>>> import _imaging, Image
>>> from PIL import Image, ImageDraw, ImageFilter, ImageFont
>>> im = Image.new('RGB', (300,300), 'white')
>>> draw = ImageDraw.Draw(im)
>>> font = ImageFont.truetype('arial.ttf', 14)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/PIL/ImageFont.py", line 218, in truetype
return FreeTypeFont(filename, size, index, encoding)
File "/usr/local/lib/python2.7/dist-packages/PIL/ImageFont.py", line 134, in __init__
self.font = core.getfont(file, size, index, encoding)
File "/usr/local/lib/python2.7/dist-packages/PIL/ImageFont.py", line 34, in __getattr__
raise ImportError("The _imagingft C module is not installed")
**ImportError: The _imagingft C module is not installed**
>>>
Also warum geschieht dies? Und wie kann ich es beheben? Ich folgte den folgenden Anleitungen, die ich gefunden an der Unterseite von dieser thread:
pip uninstall PIL
apt-get install libjpeg-dev
apt-get install libfreetype6-dev
apt-get install zlib1g-dev
apt-get install libpng12-dev
pip install PIL --upgrade
Aber während der Aktualisierung PIL, schauen, was ich sah:
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.7.5+ (default, Sep 19 2013, 13:48:49)
[GCC 4.8.1]
--------------------------------------------------------------------
*** TKINTER support not available
*** JPEG support not available
*** ZLIB (PNG/ZIP) support not available
*** FREETYPE2 support not available
*** LITTLECMS support not available
--------------------------------------------------------------------
Ist es normal, dass die Unterstützung für alle diese Elemente nicht verfügbar sein? wie behebe ich das?
Es kann sein, lohnt ein Blick auf AskUbuntu eher als hier. Zum Beispiel, diese Frage ist eine ähnliche, aber Ubuntu-spezifische Frage (obwohl es auch ein bisschen veraltet, da es scheint, noch vor PIL anstelle von Kissen).
Inzwischen, wenn Ubuntu hat eine Kissen-Paket (ob
Und Ubuntu nicht haben ein Kissen Paket: in Ihrer version von Ubuntu
Inzwischen, wenn Ubuntu hat eine Kissen-Paket (ob
python-imaging
aktualisiert wurde, oder es ist ein neues Paket mit dem Namen etwas wie python-pillow
), werden Sie wahrscheinlich wollen, zu verwenden, statt pip
(vorausgesetzt, Sie installieren in das Standard-Ubuntu Python, das ist).Und Ubuntu nicht haben ein Kissen Paket: in Ihrer version von Ubuntu
python-imaging
version 1.1.7+2.0.0-1ubuntu1 ist Pillow-2.0.0. (Die seltsame version-Nummer zu füllen, die die Voraussetzungen für verschiedene andere Pakete, die denken, Sie wollen PIL 1.1.7.) Also, genau das zu tun.InformationsquelleAutor Saqib Ali | 2013-12-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
PIL
ist im wesentlichen tot, die GabelKissen
ist wirklich, was Sie verwenden sollten. Sie müssen, um es zu importieren überEs behält alle Funktionen der
PIL
, und fügt eine Menge mehr, einschließlich der Python-3-Kompatibilität. Zusätzlich, es ist unter aktiver Entwicklung, im Gegensatz zuPIL
, so dass alle bugs, die Sie finden tatsächlich eine chance haben, sich fest - gleichen mit feature-requests.Können Sie es installieren (nach der deinstallation
PIL
) durch ausführenIch glaube, es gibt ein Paket für Ubuntu, aber mein VM bei mir zu Kopfschmerzen im moment und ich kann nicht überprüfen...
Pillow
Dokumente, alles, was Sie brauchen JPEG-Unterstützunglibjpeg
version 6b, 8, oder 9;PIL
nie klar dokumentiert, was Sie brauchten, und es war eine Frage der "installieren Sie alles, was insofern relevant erscheint, und drücken Sie die Daumen"...Danke! Ich installierte Kissen und alles scheinbar geklappt.... AUSNAHME: Jetzt wird das Captcha angezeigt, aber es ist im Grunde nicht lesbar: predictstat.com/accounts/register
wenn Sie sehen ein Captcha?
Wenn ich auf die Seite, sagt es mir, dass ich erreicht habe einen Fehler durch ungültige Seite, und um sicherzustellen, dass ich bin "angesengt und richtig". Ich möchte nicht in Brand gesetzt werden. 🙂
Auf jeden Fall, wenn Sie versuchen, verwenden Sie diesen code zur Generierung einer home-made-Captcha-äquivalent, das ist eine wirklich schlechte Idee. Es gibt alle Arten von Rand-Fällen, Probleme mit Farbenblinde Menschen, etc. Sie benötigen, um mit—und sobald Sie das tun, jemand knackt den Algorithmus, alle 2 Monate, und Sie müssen erkennen, dass, herauszufinden, wie, und schreiben Sie Ihren code, um damit umzugehen. Captcha und Ihre Konkurrenten tun für ein Leben, für die Millionen von websites; Sie tun es als ein quick-hack, für eine Website, die nicht gehen, um etwas zu erreichen.
InformationsquelleAutor MattDMo
Laut diese Frage auf AskUbuntu:
In anderen Worten, PIL anscheinend nicht verstehen moderne Ubuntu, oder in der Tat die meisten 64-bit-Linux-Versionen.
Was Sie wahrscheinlich tun möchte, ist:
python-imaging
) anstatt zu versuchen, zu installieren viapip
oderÜberprüfung auf packages.ubuntu.com, die
python-imaging
Paket ist in der Tat Pillow-2.0.0 auf Saucy (13.10). In der Tat, es ist Kissen auf etwas Startlöchern oder später; es ist nur Menschen, die immer noch 12.x oder früheren Versionen, die stecken mitPIL
. Also, wenn Sie genau dies tun:... das wird Ihnen den Kissen, und ziehen Sie alle Abhängigkeiten, die es braucht, alle in einem Schritt.
Wenn Sie nicht tun wollen, sollten Sie zunächst überdenken, die Entscheidung, weil es wahrscheinlich ein Fehler, und dann sehen Sie die Problemumgehungen vorgeschlagen, auf diese Antwort. Insbesondere Symlink auf die libs installiert in /usr/lib-Verzeichnis ist wohl das, was Sie brauchen. So zum Beispiel:
Alternativ können Sie könnte patch-PIL selbst, wie einige der Antworten auf die verlinkte Frage zeigen. Insbesondere, fügen Sie diese zwei Zeilen:
... nach den Zeilen, das hinzufügen
/usr/local/lib
und/usr/lib
.Jedoch, wenn du gehst zu verwenden, um eine gepatchte PIL, warum nicht verwenden Sie Kissen, die hat das problem schon gelöst, und viele andere?
python-imaging
noch PIL. Naja, es gibt immer pip 🙂Eigentlich habe ich nicht wirklich Ubuntu, aber ich habe gesehen, mindestens zwei andere Distributionen lassen
python27-imaging
wie PIL, aber fügen Sie eine neuepython27-pillow
für Kissen. (Natürlich einer von Ihnen hatte einen schönen bug, wopython27-pillow
weder veraltetpython27-imaging
noch geliefert die abstrakte Voraussetzung... aber das wäre eine einfache Fehler zu beheben, im Vergleich zu einem "fügen Sie bitte ein Paket für Kissen" feature request.)Eigentlich auf der Suche hier, es sieht aus wie Ubuntu
python-imaging
ist Kissen in den Startlöchern und später, und nur echte PIL in quantal und früher. Seit der OP ist mit 13.10, das ist frech, er sollte in Ordnung sein.er behauptet, dass, aber es gibt keine
Image.PILLOW_VERSION
wie es in meiner Kopie von Kissen 2.2.2 auf OS X. wissen Sie, offhand alle Funktionen, die Hinzugefügt wurden, in Kissen, die nicht in PIL?Es gibt nicht allzu viele (denken Sie daran, bis auf 2.0 das Ziel wurde zu 100% Kompatibilität mit PIL), und es gibt kein schönes "was ist neu in 2.3" Dokumentation, so dass der einzige Weg um herauszufinden, ist zu gehen durch die commit-log, Peeling oder durch die Referenz-docs looking for "Neue version". Wie auch immer, als ich sagte, ich habe nicht Ubuntu, check it out, aber wenn man sich die Datei aus den Startlöchern
python-imaging
Paket, es beinhaltet die Pillow-2.0.0.ei-info-Verzeichnis.InformationsquelleAutor abarnert
Zusätzliche Hinweise für Mac OS X
Unter Mac OS X werden Sie in der Regel installieren Sie zusätzliche software wie
oder freetype libjpeg mit der "fink" - Werkzeug, und dann landet es in
"/sw". Wenn Sie installiert haben die Bibliotheken anderswo, die Sie haben können
zu zwicken "setup.py" Datei vor dem Gebäude.
Zusätzliche Hinweise für Windows
Unter Windows, müssen Sie zwicken die ROOT-Einstellungen in der "setup.py"
Datei, finden Sie die externen Bibliotheken. Siehe Kommentare in der
Datei für weitere details.
Stellen Sie sicher, zu bauen, PIL und die externen Bibliotheken mit der gleichen
runtime-linking-Optionen verwendet werden wie für den Python-interpreter
(in der Regel /MD unter Visual Studio).
Beachten Sie, dass die meisten Python-Distributionen für Windows-Bibliotheken
kompiliert für Microsoft Visual Studio. Sie können die Kostenlose Express
edition von Visual Studio aus:
Zum erstellen von Erweiterungen mit anderen tool-Ketten finden Sie unter "Verwenden
nicht-Microsoft-Compiler unter Windows" im Abschnitt distutils Handbuch:
Weitere Informationen zum erstellen von Erweiterungen mit dem
beliebte MinGW-compiler finden Sie unter:
InformationsquelleAutor Oleksandr