2013-11-24 8 views
6

Ich habe versucht, PIL auf meinem Raspberry Pi zu installieren und JPEG-Dateien zu lesen. Es funktioniert jedoch nicht out-of-the-box.Wie installiert man PIL mit JPEG-Unterstützung auf einem Raspberry Pi?

Wenn ich laufen die folgenden:

sudo pip install pil 

ich folgende Fehlermeldung erhalten, versuchen, ein Bild zu öffnen:

""decoder jpeg not available"" 

Während alle benötigten JPEG-Bibliotheken zu installieren versuche ich in einige Fehler lief zB :

sudo apt-get install libjpeg 
E: Unable to locate package libjpeg 

Antwort

13

Sie müssen PIL neu installieren und installieren Sie auch die erforderlichen Bibliotheken l als Link sie manuell. Diese Antwort basiert auf this blog post für eine regelmäßige ubuntu PIL Installation und diese askubuntu question, wo es wird erklärt, wie die JPEG-Kodierung zu kompilieren:

### uninstall PIL 
sudo pip uninstall pil 

### download and compile the JPEG library 
wget http://www.ijg.org/files/jpegsrc.v8c.tar.gz  
tar xvfz jpegsrc.v8c.tar.gz 
cd jpeg-8c 
./configure --enable-shared --prefix=$CONFIGURE_PREFIX 
make 
sudo make install 

### link the libraries correctly - RASPBERRY PI ONLY 
sudo ln -s /usr/lib/arm-linux-gnueabi/libjpeg.so /usr/lib 
sudo ln -s /usr/lib/arm-linux-gnueabi/libfreetype.so /usr/lib 
sudo ln -s /usr/lib/arm-linux-gnueabi/libz.so /usr/lib 

### install rest of the libraries, as well as freetrype and zlib 
sudo apt-get install libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev 

### re-install PIL 
sudo pip install pil 

Hoffnung, dass jemand hilft!

+0

Ich habe versucht, aber bekam Unterstützung für freetype2 und ZLIB (PNG/Zip) nicht für JPEG und Tkinter. Irgendeine Idee, was möglicherweise schief gehen könnte? –

+0

Danke! Ich musste mit [diesem Befehl] (http://stackoverflow.com/a/21243133/1167783) installieren, da PIL jetzt durch Pillow ersetzt wurde: 'pip install PIL --allow-externe PIL --allow-unbestätigte PIL ' – JeffThompson

+0

Danke, arbeitete wie ein Charme. Ich habe 'pip install pillow' anstelle von' pip install pil' verwendet. – Leistungsabfall