Heim Backend-Entwicklung Python-Tutorial Ausführliche Erklärung eines einfachen Tutorials für die PIL-Installation in Python

Ausführliche Erklärung eines einfachen Tutorials für die PIL-Installation in Python

Mar 10, 2017 pm 01:51 PM
pil python

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

Die Antwort ist natürlich schmerzhaft, es ist immer noch IOError ~

Okay, lass die schmerzhaften Dinge los, ich habe endlich einen Hoffnungsschimmer gefunden zu den folgenden Tabelleninformationen:

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

Das reicht nicht aus, es ist am besten, einfach das Pillow-Python-Paket zu verwenden, anstatt es manuell herunterzuladen. Verwenden Sie einfach den folgenden Befehl

pip install -. I --no-cache-dir -v Pillow

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.

Das reicht! Bitte beachten Sie die Zeile oben,

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1506
276
Python verbinden sich mit SQL Server PyoDBC -Beispiel Python verbinden sich mit SQL Server PyoDBC -Beispiel Jul 30, 2025 am 02:53 AM

Installieren Sie PYODBC: Verwenden Sie den Befehl pipinstallpyoDBC, um die Bibliothek zu installieren. 2. SQLServer verbinden: Verwenden Sie die Verbindungszeichenfolge, die Treiber, Server, Datenbank, UID/PWD oder Trusted_Connection über die Methode Pyodbc.Connect () und die SQL -Authentifizierung bzw. der Windows -Authentifizierung unterstützen; 3. Überprüfen Sie den installierten Treiber: Führen Sie Pyodbc.Drivers () aus und filtern Sie den Treibernamen mit 'SQLServer', um sicherzustellen, dass der richtige Treiberame wie 'ODBCDRIVER17 für SQLServer' verwendet wird. 4. Schlüsselparameter der Verbindungszeichenfolge

Python Shutil Rmtree Beispiel Python Shutil Rmtree Beispiel Aug 01, 2025 am 05:47 AM

Shutil.rmtree () ist eine Funktion in Python, die den gesamten Verzeichnisbaum rekursiv löscht. Es kann bestimmte Ordner und alle Inhalte löschen. 1. Basisnutzung: Verwenden Sie Shutil.rmtree (Pfad), um das Verzeichnis zu löschen, und Sie müssen FilenotFoundError, Erlaubnissekror und andere Ausnahmen verarbeiten. 2. Praktische Anwendung: Sie können Ordner, die Unterverzeichnisse und Dateien enthalten, in einem Klick löschen, z. B. temporäre Daten oder zwischengespeicherte Verzeichnisse. 3. ANMERKUNGEN: Der Löschvorgang wird nicht wiederhergestellt; FilenotFoundError wird geworfen, wenn der Weg nicht existiert. Es kann aufgrund von Berechtigungen oder Einstellungen fehlschlagen. 4. Optionale Parameter: Fehler können von ignore_errors = true ignoriert werden

Was ist statistische Arbitrage in Kryptowährungen? Wie funktioniert statistische Arbitrage? Was ist statistische Arbitrage in Kryptowährungen? Wie funktioniert statistische Arbitrage? Jul 30, 2025 pm 09:12 PM

Die Einführung in statistische Arbitrage Statistical Arbitrage ist eine Handelsmethode, die auf der Grundlage mathematischer Modelle Preisfehlanpassungen auf dem Finanzmarkt erfasst. Die Kernphilosophie beruht auf der mittleren Regression, dh, dass die Vermögenspreise kurzfristig von langfristigen Trends abweichen, aber schließlich zu ihrem historischen Durchschnitt zurückkehren. Händler verwenden statistische Methoden, um die Korrelation zwischen Vermögenswerten zu analysieren und nach Portfolios zu suchen, die normalerweise synchron verändern. Wenn das Preisverhältnis dieser Vermögenswerte ungewöhnlich abgewichen ist, ergeben sich Arbitrage -Möglichkeiten. Auf dem Kryptowährungsmarkt ist die statistische Arbitrage besonders weit verbreitet, hauptsächlich aufgrund der Ineffizienz und drastischen Marktschwankungen des Marktes selbst. Im Gegensatz zu den traditionellen Finanzmärkten arbeiten Kryptowährungen rund um die Uhr und ihre Preise sind äußerst anfällig für Verstöße gegen Nachrichten, Social -Media -Stimmung und technologische Upgrades. Diese konstante Preisschwankung schafft häufig Preisgestaltung und liefert Arbitrageure mit

Python Iter und nächstes Beispiel Python Iter und nächstes Beispiel Jul 29, 2025 am 02:20 AM

Iter () wird verwendet, um das Iteratorobjekt zu erhalten, und als nächstes () wird das nächste Element erhalten. 1. Verwenden Sie Iterator (), um iterable Objekte wie Listen in Iteratoren umzuwandeln. 2. Rufen Sie als nächstes an () an, um Elemente nacheinander zu erhalten, und auslösen Sie die Ausnahme der Stopperation, wenn die Elemente erschöpft sind. 3. Verwenden Sie als nächstes (Iterator, Standard), um Ausnahmen zu vermeiden. 4. Benutzerdefinierte Iteratoren müssen die Methoden __iter __ () und __Next __ () implementieren, um die Iterationslogik zu kontrollieren; Die Verwendung von Standardwerten ist ein häufiger Weg zum sicheren Traversal, und der gesamte Mechanismus ist prägnant und praktisch.

Wie führe ich SQL -Abfragen in Python aus? Wie führe ich SQL -Abfragen in Python aus? Aug 02, 2025 am 01:56 AM

Installieren Sie den entsprechenden Datenbanktreiber; 2. verwenden Sie Connect (), um eine Verbindung zur Datenbank herzustellen. 3. Erstellen Sie ein Cursorobjekt; V. 5. Verwenden Sie Fetchall () usw., um Ergebnisse zu erhalten. 6. Commit () ist nach der Änderung erforderlich; 7. Schließlich schließen Sie die Verbindung oder verwenden Sie einen Kontextmanager, um sie automatisch zu behandeln. Der vollständige Prozess stellt sicher, dass die SQL -Operationen sicher und effizient sind.

So erstellen Sie eine virtuelle Umgebung in Python So erstellen Sie eine virtuelle Umgebung in Python Aug 05, 2025 pm 01:05 PM

Um eine virtuelle Python -Umgebung zu erstellen, können Sie das Venv -Modul verwenden. Die Schritte sind: 1. Geben Sie das Projektverzeichnis ein, um die Python-Mvenvenv-Umgebung auszuführen, um die Umgebung zu schaffen. 2. verwenden Sie SourceEnv/bin/aktivieren Sie in Mac/Linux und Env \ Skripts \ aktivieren in Windows; 3.. Verwenden Sie das Pipinstall -Installationspaket, Pipfreeze> Anforderungen.txt, um Abhängigkeiten zu exportieren. V. Virtuelle Umgebungen können Projektabhängigkeiten isolieren, um Konflikte zu verhindern, insbesondere für die Entwicklung von Mehrfachprojekten, und Redakteure wie Pycharm oder VSCODE sind es ebenfalls

Python -Dateizeile nach Zeilenbeispiel Python -Dateizeile nach Zeilenbeispiel Jul 30, 2025 am 03:34 AM

Die empfohlene Möglichkeit, Dateienzeile nach Zeile in Python zu lesen, besteht darin, mit Open () und für Schleifen zu verwenden. 1. Verwenden Sie mit Open ('Beispiel. 2. Verwenden Sie ForlineInFile: zum Linien für Linien zu realisieren, maßgeschneidert, maßgeschneidert; 3.. Line.strip () verwenden, um Zeilen-für-Linie-Zeichen und Whitespace-Zeichen zu entfernen; 4. Geben Sie Coding = 'UTF-8' an, um Codierungsfehler zu verhindern. Andere Techniken umfassen das Überspringen von leeren Linien, das Lesen von N -Zeilen zuvor, das Erhalten von Zeilennummern und Verarbeitungsleitungen entsprechend den Bedingungen und das stets maßgebliche Öffnen ohne Schließen vermeiden. Diese Methode ist vollständig und effizient und für eine große Dateiverarbeitung geeignet

So führen Sie das Python -Skript mit Argumenten in VSCODE aus So führen Sie das Python -Skript mit Argumenten in VSCODE aus Jul 30, 2025 am 04:11 AM

TorunapythonscriptWithArgumenteInvScode, configurelaunch.jsonByopeningTherunanddebugpanel, erstellte thelaunch.jsonFile, undaddingthesireSeiRedArgumentSthe "args" arrayWitHinTheconfiguration.2.Inthonscript, Useargparseys.Argvtoaccce

See all articles