美文网首页Python开发程序员
记一次辛酸的排错过程

记一次辛酸的排错过程

作者: 奥特虾 | 来源:发表于2017-04-27 10:23 被阅读181次

《PIL:从入门到放弃》

最近在学习用Python写爬虫,在模拟登录的时候遇到了这样一个问题,如何处理网站的验证码。

好在Python是胶水语言,很轻松地在百度上找到了解决方案,用Google的OCR开源项目模块Pyesser就能实现简单的图片文字转文本。不用去学习复杂的图像识别,学会Pyesser模块的使用就能实现这样的一个功能。对于我这种小白来说简直不能再棒了!

啃完了其他大牛写的示例代码,我也跃跃欲试起来,在Pycharm里写下了我的第一个验证码识别程序。

实现这个功能需要用到两个Python第三方模块:Pyesser和PIL(Python Image Library),安装Pyesser的过程倒不是很复杂,直接在CSDN上下载源码根据教程就能解决,至于PIL也能在Pycharm的Project Interpreter中找到,看似简单的安装过程,却是我噩梦的开始。

选中PIL,点击install,提示“non zero exit code”,看不懂没关系,百度。综合了几个大牛的博客,我得出了一个很不成熟的结论,“Pycharm提供的PIL模块版本不对”,那没事,直接用pip install安装吧,失败。继续百度,尝试其他解决方案,一直是error。有点儿气馁,便开始抱怨,“估计是系统的问题,果然Windows不适合做Python开发啊!”

于是,转战CentOS,继续pip install PIL,报错“No matching distribution found for PIL”,没有这个包?继续百度,大牛们提供的解决方案也是五花八门,看得我似懂非懂,逐个去试也是很久没有进展,这个时候在某大牛的个人博客中看到了这句话,“PIL已经停止了对Python2.7的支持,赶紧去用Python3.6吧!”

那看来,果然还是环境的问题,于是我又哼哧哼哧地去安装了Python3.6,费了九牛二虎之力搞定了环境,发现还是行不通。那看来这就是从入门到放弃了,再试一次,如果还是解决不了就不玩了。

上天不负有心人....终于在简书里看到了一丝希望的曙光,从一个大牛的文章中了解到,一直安装失败的原因是“PIL的官方版本最后一次维护是2009年,现在已经宣布停止维护,Pillow是PIL的fork版本,还在继续维护更新,建议安装Pillow”,OK,去尝试pip install pillow,接下来可以说是喜极泪奔了,‘Successfully installed olefile-0.44 pillow-4.1.0’,回Python2.7去尝试,success,回Windows的Pycharm去选择Pillow安装,success。

安装PIL(或者说是Pillow?)也算告一段落了,说说这次排错过程中的一些反思和感想

(1)遇到问题时不要轻易认为是客观环境造成的(比如我一开始认为Windows不适合做Python开发,Python2.7不支持PIL),也有可能是自己技术不过硬。

(2)查资料时一定要有针对性,切记不能看到一个解决方案就直接去尝试,要结合自身实际情况(例如开发环境、报错信息等)思考,不然会走很多不必要的弯路,浪费时间。

(3)要学会透过问题看本质,先去熟悉一下模块本身而不是直接搜索如何安装,也许会有意想不到的收获。

第一次在简书上发表文章,排版可能有点问题,还请各位多多指教!

相关文章

  • 记一次辛酸的排错过程

    《PIL:从入门到放弃》 最近在学习用Python写爬虫,在模拟登录的时候遇到了这样一个问题,如何处理网站的验证码...

  • 记一次关于MYSQL的排错过程

    今天打开网站发现数据无法加载,只有基础的静态页面。。。本来以为是后端应用挂了,于是打算登录查看一下. 使用ssh登...

  • 记databinding的一次排错

    某天一早我过来打开Android studio,一运行发现突然报错了,错误如下: 69个错误,2个警告,这些错误都...

  • 记一次mysql排错—死锁

    故事起源:ZY问我,有没有遇到过在mysql客户端执行了添加表字段的的命令,显示成功了,在客户端也看的到,为啥到服...

  • 一切自有安排

    一切自由安排错的路错的人都是注定的这样教你体会人生悲喜让你知道人间冷暖知道辛酸

  • 磁盘【故障集合】-欢迎补充

    一、挂载分区中的报错及排错二、各种提示集合 一、挂载分区中的报错及排错 1.fdisk /dev/sdb 第一次...

  • 记一次奇葩的排错经历(删除cell)

    慎重!慎重!照这个方法删除cell后,会导致已存在的虚拟机无法获取详情! 此文后续 https://www.jia...

  • 一次排错的收获

    前段时间,定投践行群迎来了新的课程——李俊老师的编程课,让我对学习编程这件事有了系统全面的理解,而且另外印象最深刻...

  • 一次mysql排错

    最近mac上折腾mysql,apache。mysql装完之后,可以正常使用。随后又折腾了一下其他软件,再回过头来的...

  • OpenStack "VolumeLimitExceeded"故

    创建虚机遇到VolumeLimitExceeded报错,下面是排错过程 今天在用OpenStack创建虚机的时候,...

网友评论

本文标题:记一次辛酸的排错过程

本文链接:https://www.haomeiwen.com/subject/ttlgzttx.html