全网友遇到的Mac安装Scrapy框架所有问题
2017-10-12 16:02
344 查看
每次配什么环境算是能遇到所有的问题,参考一个blog配置下来并将新问题罗列如下:
MAC OS是自带python 2.7的,而目前Scrapy也只是在python 2.7版本较为稳定,所以你不需要再安装或者配置python环境了,只需要按步骤安装好Scrapy就好了。
作为一个想在Mac上用Scrapy的人,我觉得你应该是知道Homebrew和wget的吧。。。好吧如果你不知道那也没有关系,请移步Homebrew。
安装好Homebrew,wget并学会使用(很简单的)。
如果你是开发人员,那么别墨迹了,把Xcode装上吧。如果你不是,那装不装倒是无所谓。
好了,到现在为止我们已经做完了准备工作,接下来我们就开始进入正篇环节——Scrapy安装。
准备工作
安装开始前,你需要知道的几点注意事项和工具: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[/code] 接下来安装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 = http://pypi.mirrors.ustc.edu.cn/simple[/code] 输入完成后保存退出即可,至此,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会自动帮你装上的。
接下来就是等待安装完成了。解决Found exisiting installation :six 1.4.1问题
输入 sudo pip install scrapy之后报了这个错误,原因是苹果预先安装的six库出于安全原因被设置为sudo也不可修改的,依赖高版本的库就需要更新six,但是没有这个权限就会报错,解决方案:
将代码改为:sudo pip install Scrapy --upgrade
--ignore-installed six解决ImportError:cannot import name xmlrpc_client问题
安装完成之后,终端下输入如下命令查看Scrapy版本并验证是否成功,却发现出了问题,提示ImportError:cannot import name xmlrpc_client
网上无论如何也找不到解决方案,无奈之下翻墙Google,找到了某外国友人的解决方案。至此,问题告破。
终端下执行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版本,搞定。解决OSError:[Errno 1] Operation not permitted问题
在终端执行这段代码的时候,会报一个权限的错误 OSError: [Errno 1] Operation not permittedsudo rm -rf /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six*
这是因为由于El Capitan引入了SIP机制(System Integrity Protection), 默认下系统启用SIP系统完整性保护机制,无论是对于硬盘还是运行时的进程限制对系统目录的写操作。 这就是这个OSError: [Errno 1] Operation not permitted 错误的原因,解决办法就是取消SIP机制,具体做法是:
重启电脑,按住Command+R(直到出现苹果标志)进入Recovery Mode(恢复模式),左上角菜单里找到实用工具 -> 终端输入csrutil disable回车重启Mac即可如果想重新启动SIP机制重复上述步骤改用csrutil enable即可
我们现在再看看sip的状态,
$ csrutil status
System Integrity Protection status: disabled.
这样再安装时再也不会提示无法写入的权限提示了解决AttributeError:'module' object has no attribute 'OP_NO_TLSv1_1'问题
原因是 twisted版本太高了,默认是安装最高版本,17.1.0
比如 pip install twisted==13.1.0没有问题的
作者:神兽gcc
链接:http://www.jianshu.com/p/a03aab073a35
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关文章推荐
- mac安装Scrapy过程以及遇到的问题
- Scrapy框架安装遇到的问题
- mac 下安装cocos2d-x遇到没有权限的问题
- Mac 下安装PHP遇到的问题
- mac安装mysql-python遇到的问题
- mac 下安装cocos2d-x遇到没有权限的问题  
- VMWare 7 安装Mac OS X 10.6 搭建IOS开发环境遇到的细节问题
- mac下安装android studio 遇到问题及解决方案
- Mac下opencv的安装遇到的问题解决
- mac中安装mysql-python遇到的问题
- mac 上安装jco3 所遇到的问题
- QC10.0 安装总结和遇到所有问题解总结
- mac系统下安装libjpeg(jpeg-6b)遇到的问题和解决办法
- mac下安装android studio 遇到问题及解决方案
- MacOS Lion 安装MySQLdb for python 遇到的问题
- Mac下安装jpype遇到的问题
- 在virtualbox上安装mac os mavericks遇到Missing Bluetooth Controller Transport问题解决办法
- 安装Scrapy遇到的一些问题
- MAC 用VM安装Windowphone8 虚拟机 遇到的问题
- vs2008 目标框架 发布遇到的问题. (总是必须安装3.5框架的解决办法)