MAC 安装爬虫Scrapy

受不了网上都是铺天盖地的 windowslinux 下安装的教程,居然找不到太多关于mac的

而且快抓狂了想在虚拟机上装个Debian,可惜安装速度实在磨练人的耐心,加上方教授的功劳,506k能下半小时

这个是乱入混搭的时代吗


虽然不是很喜欢,在OS X里装一堆的东西,不过这次为了科学,mac妹子你就从了吧

这是第一种安装的方法,由于不是很全,没有后续的方法,所以这里还是用了最全面的方法,请往下看

mac OS X 自带python 2.7可惜其他的配套的不带,所以python是不用装了,但其他还是配上为妙

安装python的姐妹们

  • 首要第一个安装 Homebrew, 为了我们有wget用,这个M妹还会安装依赖包
    终端输入
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew 的所有文件均会被安装到预定义目录下,所以您无需担心安装位置。

  • wget 妹子一起来
    brew install wget

  • pip 妹子拉回来
    wget https://bootstrap.pypa.io/get-pip.py

  • 铐上pip
    sudo python get-pip.py

会收到

The directory '/Users/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

诱惑的不安全提示,无视之,无套

大坑一号 pip源

拜方教授之功德,不换pip源就有可能在许多地方就莫名的卡住了,极其耗时磨人


  • 设置pip配置文件
    默认情况下Mac端没有pip的配置文件的,我们需要自行创建。
    打开终端,在自己的账户下下创建.pip目录

mkdir .pip touch pip.conf vi pip.conf

  • 修改conf
    在pip.conf中输入这两行,修改地址
    [global] index-url = http://pypi.mirrors.ustc.edu.cn/simple

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

如果你是 el capitan,这里是无效的,这一步不用弄了,下面有解决办法

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

https://pypi.douban.com 豆瓣

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

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

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

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

用法都一样,只需要替换配置文件当中index-url的值即可。不要忘记后面的/simple目录!

  • Command Line Tools安装
    pip在安装Scrapy模块时依赖lxml模块,而pip的默认行为是下载源码进行编译。为了避免找不到include文件夹,找不到xmlversion.h文件啊等问题。指定C编译器的环境变量

无论有没装xcode的可以运行这个一下
xcode-select --install
安装命令行工具

  • 终于可以安装 scrapy 了
    sudo pip install scrapy
    嗯,又有个无套风险提示

然后scrapy妹子的一堆嫁妆都自己过来了 service-identity w3lib lxml

el capitan 下的完美方案
sudo pip install scrapy -i https://pypi.mirrors.ustc.edu.cn/simple/

El-Capitan的坑

如果你的系统是 el capitan,那么在安装性感的six时会出错,因为系统已经安装了 six 1.4.1,所以可以这样来安装

pip install scrapy --upgrade --ignore-installed six

el capitan 下这样用,就可以享受飞速的下载了,完美方案
sudo pip install scrapy -i https://pypi.mirrors.ustc.edu.cn/simple/ --upgrade --ignore-installed six
中间的下载地址可以替换,详见上面的pipy镜像列表

网上还有种删除自带six,重新安装的方法,试验后未成功,如果你的机器还是不行也可以试试
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

可能出现的错误

  • 如果提示 lxml 安装错误,设置 C_INCLUDE_PATH
    export C_INCLUDE_PATH=/usr/local/include:/usr/local/include/libxml2:$C_INCLUDE_PATH

sudo pip install lxml

  • 某些情况下系统的python并不完整,需要重新安装几个工具,可以整体更新
    brew install python
  • 如果有错误提示

Collecting zope.interface>=3.6.0 (from Twisted>=10.0.0->Scrapy)
Could not find a version that satisfies the requirement zope.interface>=3.6.0 (from Twisted>=10.0.0->Scrapy) (from versions: )
No matching distribution found for zope.interface>=3.6.0 (from Twisted>=10.0.0->Scrapy)

则运行
easy_install zope.interface


开吃

推荐阅读更多精彩内容