[python2]Pillow(64bit PIL 安装失败问题)

在Python中,安装第三方模块,是通过setuptools这个工具完成的。

Python有两个封装了setuptools的包管理工具:easy_install和pip。目前官方推荐使用pip。

 

使用pip安装一个第三方库——Python Imaging Library,这是Python下非常强大的处理图像的工具库

C:\Users\admin>pip install PIL
Collecting PIL
  Could not find a version that satisfies the requirement PIL (from versions: )
No matching distribution found for PIL

 

原因:

PIL官方只有32位的安装文件,安装时会提示找不到python的安装路径。

64位Win7下无法安装PIL库的原因是:
PIL官方http://www.pythonware.com/products/pil/提供的PIL二进制安装库包都是32位的。64位程序和32位程序检测注册表的位置是不一样的:
64位程序检测HKEY_LOCAL_MACHINESOFTWAREPython,而32位程序检测HKEY_LOCAL_MACHINESOFTWAREWow6432NodePython。
如果安装的python是64位的,其相关信息都在HKEY_LOCAL_MACHINESOFTWAREPython下面,
而32位程序则在HKEY_LOCAL_MACHINESOFTWAREWow6432NodePython下面找Python安装信息,结果找不到了,所以会抱错。

 

解决方案:

网上有非官方的64位库(官方源码编译版),叫做pillow。

Pillow是PIL的替代版本。其网址为:http://www.lfd.uci.edu/~gohlke/pythonlibs/

可以直接搜索pillow,如果安装的是python2.7 就可以选择Pillow‑5.1.1‑cp27‑cp27m‑win_amd64.whl

下载,安装

C:\>pip install Pillow-5.1.1-cp27-cp27m-win_amd64.whl
Processing c:\pillow-5.1.1-cp27-cp27m-win_amd64.whl
Installing collected packages: Pillow

Successfully installed Pillow-5.1.1

ok, 安装成功!!!

使用的时候千万记得:from PIL import Image  代替原先的import Image

 

例如:同一张图片保存的方式不同。但结果是一样的。

>>> from PIL import Image
>>> im1 = Image.open('picture1')
>>> im2 = Image.open('picture2.png')
>>> im3 = Image.open('picture3.jpg')
>>> print im1.format, im1.size, im1.mode
JPEG (1080, 2280) RGB
>>> print im2.format, im2.size, im2.mode
JPEG (1080, 2280) RGB
>>> print im3.format, im3.size, im3.mode

JPEG (1080, 2280) RGB

 

>>> im1.thumbnail((200, 100))

>>> im1.save('thumb.jpg', 'JPEG')
生成缩略图
thumbnail函数接受一个元组作为参数,分别对应着缩略图的宽高,在缩略时,函数会保持图片的宽高比例。
如果输入的参数宽高和原图像宽高比不同,则会依据最小对应边进行原比例缩放。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值