本文主要是介绍使用django-simple-captcha遇到的坑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用django-simple-captcha遇到的坑
一站点gongshare.com在做注册功能时验证码采用的django-simple-captcha,因为笔者开发环境采用的Windows 64bit系统,结果安装使用的时候接二连三遇到好几个坑。
django-simple-captcha需要依赖django1.3+、PIL1.1.7+或者Pillow2.0+,根据文档安装后开始使用时,最开始报如下错:
TypeError: function takes at most 4 arguments (6 given)
这个错误在stackoverflow找到了答案,把PIL替换成Pillow就行,Pillow是从PIL fork过来的一个版本,至于为什么会有Pillow这么个东西,pillow的作者对它做了最好的解释,大概意思就是对PIL的安装方式和Bug修复问题感到不满。窃以为替换了PIL后就没问题,于是接着问题又来了:
IOError: encoder zip not available
还是在stackoverflow找答案,目测还是PIL的问题,我很纳闷,PIL卸载了(使用命令pip uninstall PIL
),Pillow重新安装了,为啥还是不行,结果跑到控制面板查看已安装的程序,发现还有个64位的PIL,因为笔者之前安装过一次二进制的PIL.exe,另外发现自己的Python版本也是64位的Python2.7.4,于是乎,手动卸载控制面板中出现的那个PIL,又重新安装了遍Pillow,未果,跑到这个网站下了个安装版的Pillow-2.1.0.win-amd64-py2.7.exe,新的错误出现了:
The _imaging C module is not installed
此时快要崩溃了,但还是不死心啊,于是把64位的python2.7.4也卸载掉,换成了32位的python2.7.5,此时此刻激动人心的一刻出现了。自己去感受一下吧。
总结:
- 在条件允许的情况下,尽可能在Linux或Mac上做开发,这样遇到的坑比较少。
- 把Python换成32位的安装包,其他第三方的也跟着用32位的
这篇关于使用django-simple-captcha遇到的坑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!