史上最完全Mac安装Scrapy指南

史上最完全Mac安装Scrapy指南


博主作为一名python爬虫爱好者,怎能不折腾下Scrapy?于是在折腾了两个下午之后,终于把Scrapy装在了Macbook上。说起来还真的是蛮坎坷的,网上大多是win和Linux下的安装教程,Mac端的安装教程实在是少的可怜,安装初期也是遇到各种各样的错误,经过一番摸索加实践,现总结出最完全的Mac端Scrapy安装指南。

更新记录
2015年10月5日 – 解决ImportError:cannot import name xmlrpc_client问题


准备工作

安装开始前,你需要知道的几点注意事项和工具:

  • MAC OS是自带python 2.7的,而目前Scrapy也只是在python 2.7版本较为稳定,所以你不需要再安装或者配置python环境了,只需要按步骤安装好Scrapy就好了。
  • 作为一个想在Mac上用Scrapy的人,我觉得你应该是知道Homebrew和wget的吧。。。好吧如果你不知道那也没有关系,请移步Homebrew
  • 安装好Homebrew,wget并学会使用(很简单的)。
  • 如果你是开发人员,那么别墨迹了,把Xcode装上吧。如果你不是,那装不装倒是无所谓。

好了,到现在为止我们已经做完了准备工作,接下来我们就开始进入正篇环节——Scrapy安装。

安装pip工具包

这个必须安装,是基于python的管理工具包。在这里就不多废话了,既然知道Scrapy,没理由不知道pip。我们已经装过了wget,现在我们就用它来获取pip,很简单,打开终端,下面这行命令敲进去执行。

wget https://bootstrap.pypa.io/get-pip.py

接下来安装pip:

sudo python get-pip.py

搞定。

pip源修改

注意,这一步非常重要,很多人在安装Scrapy不成功的第二大原因(稍后再说第一大)就是这个,一定要改啊。博主一想起这个就是泪牛满面啊,折腾的时间大部分都浪费在这里了。

安装完成pip之后,默认的时官方源可能会被我大天朝的长城K.O.掉,我们需要对pip源进行修改,使用咱们国内的源。

首先创建配置文件,默认情况下Mac端好像是没有pip的配置文件的,我们需要自行创建。打开终端,在HOME下创建.pip目录:

mkdir .pip

接下来创建配置文件pip.conf:

touch pip.conf

接下来编辑配置文件,随便使用什么编辑器打开刚刚新建的pip.conf文件,输入以下两行:

(—————————————修改成清华大学的了————————————)

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
 

输入完成后保存退出即可,至此,pip源就修改完了,可以进行下一步了。

有一点要说明一下,就是pip源的问题,国内目前的pipy镜像主要有以下几个:

http://pypi.douban.com/ 豆瓣

http://pypi.hustunique.com/ 华中理工大学

http://pypi.sdutlinux.org/ 山东理工大学

http://pypi.mirrors.ustc.edu.cn/ 中国科学技术大学

http://pypi.v2ex.com/ V2EX社区

大家可以看自己需要选择,用法都一样,只需要替换配置文件当中index-url的值即可。但不要忘记后面的/simple目录!

Command Line Tools安装

pip在安装Scrapy模块时依赖lxml模块,而pip的默认行为是下载源码进行编译。很多小伙伴在MAC终端中并没有指定C编译器的环境变量啊,找不到include文件夹啊,找不到xmlversion.h文件啊等等问题。木有错,这就是大部分伙子装Scrapy遇到的最大问题!

为了防患于未然,我们先不要着急安装Scrapy,pip源修改完成之后,我们要先回到HOME进行Command Line Tools安装,终端下执行

xcode-select —install

不管你有没有装Xcode,接下来你只要按照提示一直点确定就好了。

安装Scrapy

现在做完以上几步之后,我们只需要执行

sudo pip install Scrapy

就可以了,如果没有lxml或者OpenSSL,pip会自动帮你装上的。

接下来就是等待安装完成了。

解决ImportError:cannot import name xmlrpc_client问题

安装完成之后,终端下输入如下命令查看Scrapy版本并验证是否成功,却发现出了问题,提示

ImportError:cannot import name xmlrpc_client

如下图所示

网上无论如何也找不到解决方案,无奈之下FQGoogle,找到了某外国友人的解决方案。至此,问题告破。

终端下执行

sudo rm -rf /Library/Python/2.7/site-packages/six*
sudo rm -rf /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six*
sudo pip install six

卸载掉six并重装,再次查看Scrapy版本,搞定。

至此,Scrapy已经成功安装在你的Mac上了,按照博主的步骤一步一步来的话应该是不会出现什么问题的,接下来就是开始尽情地爬啊爬了~~

posted @ 2015-12-16 17:53  leo_23  阅读(1926)  评论(0编辑  收藏  举报