admin管理员组

文章数量:1654293



问题一:     *** TKINTER support not available

PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.7.6 (default, Nov 11 2014, 16:55:01)
              [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
--- LITTLECMS support available
--------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.

解决:

apt-get install libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev  (无用)
pip install pillow
 

问题二:如何安装PIL

原文见:http://cn-popeye.iteye/blog/1236691

转载如下:

PIL是python理想的图片处理module,但是想要良好的支持各种图片,还需要检查一下几步,否则会提示:IOError: decoder jpeg not available之类的。

我的环境:Linux mint 11 amd64 / Python2.7

第一步:安装zlib png freetype   jpeg

  • install zlib (ubuntu 官方源没有zlib,别想apt-get了)

      下载zlib,(zlib已墙,可以去SF),

       url: http://sourceforge/projects/libpng/files/zlib/1.2.5/zlib-1.2.5.tar.gz/download?use_mirror=superb-dca2

 

      shell:

$ tar -xvzf zlib-1.2.5.tar.gz$ cd zlib-1.2.5$ ./configure --prefix=/usr/local$ make$ sudo make install
  • install png(忘记apt-get吧)
shell: $ wget ftp://ftp.simplesystems/pub/libpng/png/src/libpng-1.5.6.tar.gz (如果文件不存在就浏览 /src/目录查找一下最新版) $ tar -xvzf libpng-1.5.6.tar.gz  $ cd libpng-1.5.6 $ ./configure --prefix=/usr/local $ make $ sudo make install  
  • install freetype (忘记apt-get吧)

     shell:

$ wget http://nchc.dl.sourceforge/project/freetype/freetype2/2.4.7/freetype-2.4.7.tar.gz $ tar -xvzf freetype-2.4.7.tar.gz  $ cd freetype-2.4.7/ $ ./configure --prefix=/usr/local $ make $ make install  
  • install jpeg (忘记apt-get吧)

    shell:

$ wget http://www.ijg/files/jpegsrc.v8c.tar.gz $ tar -xvzf jpegsrc.v8c.tar.gz $ cd jpeg-8c/ $ ./configure --prefix=/usr/local $ make $ sudo make install  

 

 

第二步:安装需要的 devel库(现在是想起apt-get的时候了)

 

shell: $ sudo apt-get install libjpeg8-dev  $ sudo apt-get install libpng12-dev $ sudo apt-get install libfreetype6-dev $ sudo apt-get install zlib1g-dev

 

 

第三步:安装 PIL( Python Imaging Library 

 

shell 写道 $ wget http://effbot/downloads/Imaging-1.1.7.tar.gz $ tar -xvzf Imaging-1.1.7.tar.gz $ cd Imaging-1.1.7/

   

修改setup.py文件: $ nano setup.py 修改如下:  JPEG_ROOT = "/usr/local/lib" ZLIB_ROOT = "/usr/local/lib" FREETYPE_ROOT = "/usr/local/lib"

 

   检查是否支持:

$ python setup.py build_ext -irunning build_ext -------------------------------------------------------------------- PIL 1.1.7 SETUP SUMMARY -------------------------------------------------------------------- version 1.1.7platform linux2 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)[GCC 4.5.2] -------------------------------------------------------------------- *** TKINTER support not available --- JPEG support available          -----------------------> OK!  --- ZLIB (PNG/ZIP) support available  -----------------------> OK!  --- FREETYPE2 support available  ----------------------->  OK!  *** LITTLECMS support not available -------------------------------------------------------------------- To add a missing option, make sure you have the requiredlibrary, and set the corresponding ROOT variable in thesetup.py script.To check the build, run the selftest.py script.

 

   正式安装:

$ python setup.py build $ sudo python setup.py install

 

最后一步:验证

 

Python代码  
  1. #!/usr/bin/env python  
  2. # -*- coding:utf-8 -*-  
  3.   
  4. import Image  
  5. picPath = '~/images/1212.jpg'  
  6.   
  7. im = Image.open(picPath)  
  8. print im.getbbox()  

 

输出结果图片尺寸: (0, 0, 600, 715)

问题三:ImportError: libjpeg.so.8: cannot open shared object file: No such file or directory

解决:

<span style="font-size:18px;">whereis  Python
 export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib/

 export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/lampp/lib/  </span>



问题四:PIL    IOError: cannot identify image file 'images/1212.jpg'的解决办法

from PIL import Image

instead of

        import Image

fixed the issue



最后,贴上我的测试和结果:

aa.py:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

#import Image
#import ImageFont

from PIL import Image

picPath = 'images/1212.jpg'

im = Image.open(picPath)
print im.getbbox()

结果:

(0, 0, 451, 182)




本文标签: SupportTkinterPILIOErrorfile