正在阅读:

mac下安装scrapy的正确姿势

7,012

最近抽空想学习一下python的爬虫框架scrapy,在mac下安装的时候遇到了问题,逐一解决了问题,分享一下。

1、首先需要安装pip

下载pip安装文件:

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

安装pip:

sudo python get-pip.py

2.修改pip源地址(国外地址太慢)

Mac配置 .pip/pip.conf

mkdir .pip

touch pip.conf

vim 打开pip.conf

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

保存pip.conf

aliyun_pip

2、开始安装scrapy

执行命令:

sudo -H pip install scrapy

结果杯具了,报错了。。。报错信息如下:

OSError: [Errno 1] Operation not permitted: '/var/folders/cj/bkwkcr9j1n94tvysbw8bt88r0000gn/T/pip-OUuj5N-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'

意思应该就是权限的问题,无法删除six-1.4.1,这里使用sudo也没有用,是mac的保护机制,解决办法如下:

重启电脑:command+r , 进入 选择recovery mode , 左上角 选择终端 运行 csrutil disable 命令 重启电脑

然后再安装scrapy

sudo -H pip install scrapy

这下就可以成功安装了。。

3、验证scrapy是否成功安装。

执行 scrapy version 结果报错了,报错如下:

File "/Library/Python/2.7/site-packages/twisted/internet/_sslverify.py", line 38, in <module>
    TLSVersion.TLSv1_1: SSL.OP_NO_TLSv1_1,
AttributeError: 'module' object has no attribute 'OP_NO_TLSv1_1'

根据提示,可能是twisted 导致的问题,知乎上面查了一下,原来是版本过高导致的问题,使用如下命令解决:

sudo -H pip install Twisted==16.4.1

最后成功安装scrapy,接下来就可以愉快的使用scrapy了。。

4、恢复mac保护机制

方法同禁用,只是命令使用csrutil disable 即可。

参考文章:

http://www.th7.cn/system/mac/201611/190701.shtml

https://www.zhihu.com/question/55942057

目前有:3条访客评论

  1. 大山
    2017-10-16 13:38

    好文章,站一下

  2. 脚踏实地
    2017-10-16 13:39

    好文章,站一个

  3. test
    2018-02-28 10:49

    感谢分享, 其实twisted降低版本就可以, 上面可以不用修改权限,, 测试。。。

留下脚印,证明你来过。

*

*

流汗坏笑撇嘴大兵流泪发呆抠鼻吓到偷笑得意呲牙亲亲疑问调皮可爱白眼难过愤怒惊讶鼓掌