In diesem Artikel wird hauptsächlich das einfache Tutorial zur PIL-Installation in Python erläutert.
Die PIL-Installation in Python ist eine sehr mühsame Sache, auch wenn Ein Grafikprogramm speichert einfach ein Bild aus einem Binärstream (z. B. mit Scrapy zum Crawlen und Speichern von Bildern), es verwendet die PIL
-Bibliothek, und diese Bibliothek ist bekanntermaßen schwierig zu installieren.
Ja Die Leistung besteht darin, dass bei Verwendung von Scrapys ImagePipeline standardmäßig PIL verwendet wird. Wenn der Grafikdecoder nicht korrekt installiert ist, treten die folgenden Fehler auf:
IOError: decoder jpeg not available
Ich habe im Internet nach vielen Methoden gesucht, aber sie funktionieren immer noch nicht und ich weiß nicht, was los ist. Ich dachte zunächst, es gäbe ein Problem mit der Installation des PIL Bibliothek, aber selbst wenn PIL korrekt installiert ist, tritt der obige Fehler immer noch auf.
Später habe ich ein Paket namens Imaging-1.1.7 gefunden, es zufällig installiert und danach ignoriert Es hat funktioniert. Technische Schulden müssen immer zurückgezahlt werden, aber ich habe nicht so schnell darüber nachgedacht, dass ich kurz vor der Veröffentlichung des Projekts auf das gleiche Problem gestoßen bin. Ich habe dieses Paket direkt verwendet, aber das Ergebnis war ... .
-------------------------------------------------------------------- PIL 1.1.7 SETUP SUMMARY -------------------------------------------------------------------- version 1.1.7 platform linux2 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] -------------------------------------------------------------------- *** TKINTER support not available *** JPEG support not available *** ZLIB (PNG/ZIP) support not available *** FREETYPE2 support not available *** LITTLECMS support not available --------------------------------------------------------------------
Hinweis: Diese Tabelle wird nach Verwendung des Python-Setups angezeigt .py Build-Befehl im Imaging-Installationsverzeichnis.
Wenn Sie sehen, dass Sie detaillierter sein müssen, werden Sie es herausfinden, richtig! Das Problem liegt nicht bei PIL, sondern bei Decoder. Der Grund, warum ich es erfolgreich unter OSX installieren konnte, muss darin liegen, dass ich diese Decoder zuvor installiert habe. Um zu verhindern, dass andere Freunde erneut in diese Grube fallen, wurde die Installationsmethode speziell aussortiert :Mac OSX
brew updatebrew install libjpeg libpng
Es reicht aus, diese beiden zu installieren
Ubuntu 14.0.4
sudo apt-get install libjpeg-dev libpng12 -dev libfreetype6-dev libtiff-dev
Unter Linux ist es etwas schlimmer, man muss es installieren ein paar weitere Pakete.
Nachdem dieser Befehl ausgeführt wurde, werden viele Informationen angezeigt. Machen Sie sich keine Sorgen, finden Sie sie einfach. Folgendes reicht aus:
-------------------------------------------------------------------- PIL SETUP SUMMARY -------------------------------------------------------------------- version Pillow 3.2.0 platform linux2 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] -------------------------------------------------------------------- *** TKINTER support not available --- JPEG support available *** OPENJPEG (JPEG2000) support not available --- ZLIB (PNG/ZIP) support available *** LIBTIFF support not available --- FREETYPE2 support available *** LITTLECMS2 support not available *** WEBP support not available *** WEBPMUX support not available -------------------------------------------------------------------- To add a missing option, make sure you have the required library, and set the corresponding ROOT variable in the setup.py script. To check the build, run the selftest.py script.
Um den Build zu überprüfen, führen Sie das Skript selftest.py aus Diesesselftest.py ist eine gute Sache. Zumindest kann man wissen, ob es erfolgreich ist oder nicht.
Ich wünsche allen eine erfolgreiche Installation!Das obige ist der detaillierte Inhalt vonAusführliche Erklärung eines einfachen Tutorials für die PIL-Installation in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!