windows及linux下安装django simple captcha 遇到的各种问题及解决的方法

本文详细介绍了解决在Linux环境下使用PIL库生成验证码时遇到的错误:ImportError:The_imagingftCmoduleisnotinstalled。提供了详细的步骤来安装jpeg库、freetype开发库以及如何配置PIL库支持freetype的方法。

转载自http://www.cnblogs.com/descusr/p/3225874.html

全部程序写完之后,验证码图片不显示,点击图片地址会提演示样例如以下错误,而且在linux下的纠正办法

用pil产生验证码出现:ImportError: The _imagingft C module is not installed

这个是因为PIL没有编译freetype导致的
查看 lib/python2.7/site-packages/PIL/
看看 _imagingft.so 是否存在(至关重要,由于有可能系统中包括2.6或者2.7版本号的,这个必需要弄清楚)

# 须要先安装jpeg库
wget http://www.ijg.org/files/jpegsrc.v7.tar.gz
tar -zxvf jpegsrc.v7.tar.gz
cd jpeg-7
CC="gcc -arch x86_64"
./configure --enable-shared --enable-static
make
make install
# 然后再安装PIL库
让PIL支持freetype的方法

1、安装freetype开发库
yum install freetype-devel

2、下载源码http://effbot.org/downloads/Imaging-1.1.7.tar.gz

3、改动setup.py文件
改动

JPEG_ROOT = libinclude("/usr/local")
FREETYPE_ROOT = '/usr/lib64','/usr/include/freetype2/freetype'

4、查看支持项
python setup.py build_ext -i
--- FREETYPE2 support available  注意这一项

5、编译安装
python setup.py install

若上面的设置都失败,则仅仅能拿出以下的杀手锏:

sudo apt-get build-dep python-imaging
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libjpeg.so /usr/lib/
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libz.so /usr/lib/
pip install -U PIL

当现以下的提示时,则说明成功安装了:
 
  

  
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.7.3 (default, Apr 10 2012, 22:21:37)
              [GCC 4.6.3]
--------------------------------------------------------------------
--- TKINTER support available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available

 
  
在windows下
无论怎么安装都是错误的,所以必须从一開始就将python改为32位
对于上面的错误,直接安装Pillow-2.4.0.win32-py2.7
然后整个世界都安静了~
 
 

转载于:https://www.cnblogs.com/bhlsheji/p/4007323.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值