用pil產生驗證碼出現:ImportError: The _imagingft C module is not installed

  原因公司搭建了一個seafile服務器 員工反映登錄密碼多次時候出現驗證碼無法顯示問題歡迎訪問個人博客 www.cf123fc.com


解決辦法如下

這個是由於PIL沒有編譯freetype導致的
查看 lib/python2.7/site-packages/PIL/
看看 _imagingft.so 是否存在

# 需要先安裝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

若上面的設置都失敗,則只能拿出下面的殺手鐗:

sudoapt-get build-dep python-imaging

sudoln -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/

pipinstall -U PIL

當現下面的提示時,則說明安裝成功了:

--------------------------------------------------------------------PIL 1.1.7 SETUP SUMMARY--------------------------------------------------------------------version       1.1.7platform      linux2 2.7.3 (default, Apr 102012, 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--------------------------------------------------------------------

歡迎訪問個人博客 www.cf123fc.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章