使用 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 位的
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论