admin 发表于 2014-3-13 22:48:38

python 包的安装

使用 python setup.py install 来安装python包,如何卸载呢?

使用如下命令python setup.py install --record files.txt 记录安装后文件的路径
cat files.txt | xargs rm -rf删除这些文件

Ubuntu 上 python PIL库的安装

PIL(python image library)是python的一个图像处理库。如果不需要jpg,zlib,freetype等的支持可以直接使用pip安装
pip install pil
但是,工作中需要使用PIL生成验证码,就需要字体的支持,采用上述安装方式会有以下错误:
ImportError:The _imagingft C moduleisnot installed
所以不能使用pip进行安装。
手工安装方法如下:
1.安装所需依赖
sudo apt-get install libfreetype6-dev
2.下载安装包并解压。
wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
tar -zxvf Imaging-1.1.7.tar.gz
3. 修改setup.py 中依赖库的路径
cd Imaging-1.1.7
vim setup.py
#配置zlib ,freetype路径
#如果不知道系统中库所在位置,可以使用如下命令查看:
# pkg-config --variable=libdir zlib
# pkg-config --variable=libdir freetype2
TCL_ROOT = None
JPEG_ROOT = None
ZLIB_ROOT = "/usr/lib/i386-linux-gnu"
TIFF_ROOT = None
FREETYPE_ROOT = "/usr/lib/i386-linux-gnu"
LCMS_ROOT = None

4.安装
python setup.py build
确保设定过路径的库都是 avilable的,然后进行安装:
python setup.py install
经实测,以上安装方法在virtualenv中也是可行的。

5.关于font
以上安装完成后,发现生成验证码的时候出了一个新的错误:
这是因为指定的字体程序找不到,将字体设置成全路径即可。

>>> ImageFont.truetype('/usr/share/fonts/TTF/arial.ttf")

Python 之 使用 PIL 库做图像处理
1. 简介。

    图像处理是一门应用非常广的技术,而拥有非常丰富第三方扩展库的 Python 当然不会错过这一门盛宴。PIL (Python Imaging Library)是 Python 中最常用的图像处理库,目前版本为 1.1.7,我们可以 在这里 下载学习和查找资料。

    Image 类是 PIL 库中一个非常重要的类,通过这个类来创建实例可以有直接载入图像文件,读取处理过的图像和通过抓取的方法得到的图像这三种方法。

2. 使用。

    导入 Image 模块。然后通过 Image 类中的 open 方法即可载入一个图像文件。如果载入文件失败,则会引起一个 IOError ;若无返回错误,则 open 函数返回一个 Image 对象。现在,我们可以通过一些对象属性来检查文件内容,即:

1 >>> import Image
2>>> im = Image.open("j.jpg")
3>>> print im.format, im.size, im.mode
4 JPEG (440, 330) RGB
    这里有三个属性,我们逐一了解。

      format : 识别图像的源格式,如果该文件不是从文件中读取的,则被置为 None 值。

      size : 返回的一个元组,有两个元素,其值为象素意义上的宽和高。

      mode : RGB(true color image),此外还有,L(luminance),CMTK(pre-press image)。

    现在,我们可以使用一些在 Image 类中定义的方法来操作已读取的图像实例。比如,显示最新载入的图像:

1 >>>im.show()
2>>>
3. 函数概貌。

3.1    Reading and Writing Images : open( infilename ) , save( outfilename )

3.2    Cutting and Pasting and Merging Images :

      crop() : 从图像中提取出某个矩形大小的图像。它接收一个四元素的元组作为参数,各元素为(left, upper, right, lower),坐标系统的原点(0, 0)是左上角。

      paste() :

      merge() :

复制代码
1 >>> box = (100, 100, 200, 200)
2>>> region = im.crop(box)
3>>> region.show()
4>>> region = region.transpose(Image.ROTATE_180)
5>>> region.show()
6>>> im.paste(region, box)
7>>> im.show()
页: [1]
查看完整版本: python 包的安装