问题网址
有人提供预先同freetype编译的PIL下载网址(也有其他的模块)不过我看了一下PIL只有针对2.6版本的没有2.7的,当然也有 Pillow可以选择,不过网上有人说生成的验证码有点模糊,效果不好,所以我打算自己编译一个。(更新:django1.6版本将弃用PIL)
在linux上有人是这样干的:
网址
我大致也按照他的方法来
先下载FreeType
官网下载地址
有一个Windows binaries of FreeType
一个FreeType for Windows的版本下载地址:地址
虽然版本有些旧 但是将就了
如果希望用最新版本的也可以自行下载源码编译
默认安装盘是在C:\的
然后依葫芦画瓢copy一下include的地址
我的是:C:\Program Files\GnuWin32\include\
1.下载PIL源码,解包至任意目录
修改setup.py 在第40行
FREETYPE_ROOT = None
修改这个目录为
FREETYPE_ROOT = "C:\\Program Files\\GnuWin32\\lib",'C:\\Program Files\\GnuWin32\\include'
2.查看一下支持项
运行命令行,将工作目录转到PIL解包目录
命令行下使用python setup.py build_ext -i命令
可以看到FREETYPE2 support available
如果总是出现LINK : fatal error LNK1146: no argument specified with option '/LIBPATH:'
在setup.py约223行的地方加上这句话:
if "" in self.compiler.library_dirs:
self.compiler.library_dirs.remove("")
3.新增:要记得测试一下 运行命令行:
python selftest.py
此时应该能看到FREETYPE2 support OK的字样
4.安装(**写完发现还是有问题 ,详见下面的更新)
同样在命令行下:
python setup.py install
成功的话也可以看到FREETYPE2 support available
玩去吧!
对了顺带一提 有篇介绍PIL的完整编译的 不过一直看不懂 留给有需要的人吧
====================================================================================================
写完这篇文章我发现上面网址提供的freetype for windows安装完毕后
selftest的时候还是有问题
所以在下面的网址下载freetype源码:
解包可以看到有vs2008 vs2010的项目文件还有include
编译后可以得到lib文件objs/win32/vc*/freetype*.lib
改名为freetype.lib
将setup.py的FREETYPE_ROOT修改为解压包lib的地址跟include地址
再次查看支持项selftest可以发现已经可以了