2013-11-24 88 views
6

我试图在我的树莓派上安装PIL并读取JPEG文件。但是,它不能用于开箱即用。如何在树莓派上安装支持JPEG的PIL?

当我运行以下命令:

sudo pip install pil 

我收到以下错误,试图打开一个图片:尝试安装我遇到了一些错误,例如,所有需要的JPEG库

""decoder jpeg not available"" 

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

回答

13

您必须重新安装PIL并安装所需的库l手动链接它们。这个答案是基于this blog post一个普通的Ubuntu安装PIL,这askubuntu question,其中解释如何编译JPEG编码:

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

希望可以帮助别人!

+0

我试过但得到了支持freetype2和zlib(png/zip)不适用于jpeg和tkinter。任何想法可能会出错? –

+0

谢谢!我不得不使用[这个命令](http://stackoverflow.com/a/21243133/1167783)进行安装,因为PIL现在已经被Pillow所取代:'pip install PIL --allow-external PIL - allow-unverified PIL ' – JeffThompson

+0

谢谢你,像一个魅力工作。我用'pip安装枕头'代替'pip安装pil'。 – Leistungsabfall