Centos PIL 安装

本文详细介绍了如何在Linux环境下安装并配置Python Imaging Library (PIL),包括必要的依赖库如zlib、png、freetype及jpeg等。通过遵循步骤,确保PIL能够支持多种图片格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

我的环境:Linux mint 11 amd64 / Python2.7
第一步:安装zlib png freetype jpeg

1 zlib set up

yum install zlib

2 stall png

$ wget ftp://ftp.simplesystems.org/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

3 install freetype

$ wget http://nchc.dl.sourceforge.net/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

4 install jpeg

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

第二步:安装需要的 devel库

$ 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 )

$ wget http://effbot.org/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 -i
running build_ext
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform 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 required
library, and set the corresponding ROOT variable in the
setup.py script.

To check the build, run the selftest.py script.

正式安装:

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

最后一步:验证

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

    import Image  
    picPath = '~/images/1212.jpg'  

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

输出结果图片尺寸:

(0, 0, 600, 715)
### 安装 Thumbor 图像处理服务 #### 准备工作环境 为了确保Thumbor能够正常运行,在CentOS 7上需要先更新系统的软件包并安装必要的依赖项。 ```bash sudo yum update -y sudo yum install epel-release -y sudo yum install python-pip gcc libjpeg-turbo-devel python-devel -y ``` #### 创建虚拟环境(可选) 创建Python虚拟环境有助于隔离项目所需的库和其他全局安装Python包之间的冲突。 ```bash pip install virtualenv virtualenv venv source venv/bin/activate ``` #### 安装Thumbor及其依赖 在激活了虚拟环境中之后,可以继续安装Thumbor以及其所需的各种扩展和库。 ```bash pip install thumbor ``` 如果遇到任何SSL相关错误,则可能还需要额外安装`pyOpenSSL`来解决这个问题: ```bash pip install pyopenssl ndg-httpsclient pyasn1 ``` #### 启动配置文件设置 创建一个名为`thumbor.conf`的配置文件用于定制化Thumbor的行为。此文件可以根据具体需求调整参数以适应不同的应用场景[^1]。 ```ini # thumbor.conf example configuration file. SECURITY_KEY = 'my-security-key' ALLOWED_SOURCES = ['s3', 'http'] LOADER = 'thumbor.loaders.http_loader' STORAGE = 'thumbor.storages.file_storage' FILE_STORAGE_ROOT_PATH="/tmp/thumbor" RESULT_STORAGE='thumbor.result_storages.file_storage' ENGINE='thumbor.engines.pil' MAX_WIDTH=0 MAX_HEIGHT=0 QUALITY=80 UPLOAD_ENABLED="True" ``` #### 运行Thumbor服务器 完成上述准备工作后,可以通过命令行启动Thumbor实例,并指定端口号与配置文件路径。 ```bash thumbor --port=7788 --conf=/path/to/thumbor.conf ``` 此时应该可以在浏览器中通过访问 `http://<your_server_ip>:7788` 来查看Thumbor的服务状态[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值