今天在centos中使用pip安装PIL死活不成功,报错:
Could not find a version that satisfies the requirement PIL (from versions: ) Some externally hosted files were ignored as access to them may be unreliable (use --allow-external PIL to allow). No matching distribution found for PIL
但是使用pip search PIL查找,源中确实有该包:
PIL - Python Imaging Library
google之,得到如下办法(http://stackoverflow.com/questions/21242107/pip-install-pil-dont-install-into-virtualenv):
sudo pip install PIL --allow-external PIL --allow-unverified PIL
果然成功了。
但是程序运行时又报错:
font = ImageFont.truetype(os.path.join("fonts",font_type), font_size)
ImportError: The _imagingft C module is not installed
似乎是没有安装truetype扩展之类的。那就安装吧(http://stackoverflow.com/questions/4011705/python-the-imagingft-c-module-is-not-installed):
sudo yum install freetype-devel
然后卸载、重新安装PIL
sudo pip uninstall PIL sudo pip install PIL --allow-external PIL --allow-unverified PIL
终于搞定了
PS:之前还尝试过从官网下载PIL源码自己编译安装:
(参照:http://www.cnblogs.com/free--coder/archive/2012/09/12/2681361.html)
1.下载源码并解压:
wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz tar -xzvf Imaging-1.1.7.tar.gz
2.编译安装(注意要root权限):
python setup.py build python setup.py install
安装倒是成功了,但是python脚本运行时报错:
/usr/lib64/python2.7/site-packages/PIL/Image.py:81: RuntimeWarning: The _imaging extension was built for another version of Pillow or PIL warnings.warn(str(v), RuntimeWarning) Traceback (most recent call last): File "captcha.py", line 3, in <module> import Image, ImageDraw, ImageFont, ImageFilter File "/usr/lib64/python2.7/site-packages/PIL/Image.py", line 65, in <module> raise ImportError("The _imaging extension was built for another " ImportError: The _imaging extension was built for another version of Pillow or PIL
似乎版本不对。。。。。
放弃了