闲来无事想玩玩爬虫,但在mac上折腾Python还真是挺不容易的,尤其是scrapy的安装。这篇文章绝大部分内容是别人的经验,我只是将他们揉到了一起,形成一个连贯的步骤,也给想学习的人提供一些借鉴,如有侵权,请告知,我马上删除。
一.安装python
mac系统自带了一个python的执行执行环境,但为了获取最新版的python,我们需要重新安装python。这里有两种方案安装:
1.homebrew
brew install python
这个方案比较简单,如果出错的话可以给前面加sudo试试,这个安装的python可能不是最新版.
2.从官网下载安装
大家可以从https://www.python.org/download下载安装最新版的python,安装比较无脑,一路按下去就OK,缺点是以后升级,卸载都得自己维护.
这两个方法安装的python的位置是不一样的,大家可以用:
whichpython
来查看安装位置.安装完成后在终端中键入python来验证安装是否成功.
二. 安装pip
这里好多文章中说要先安装easy_install, 其实是不用的.
1.我们先获取pip安装脚本:
wget https://bootstrap.pypa.io/get-pip.py
如果没有安装wget可以去https://bootstrap.pypa.io/get-pip.py将所有内容复制下来,新建get-pip.py文件,将内容拷进去就OK了.
2.安装pip
sudo python get-pip.py
用python执行刚才获取的脚本,这里sudo可以选择使用,若遇到类似这个报错则必须加sudo:
Exception:
Traceback (most recent call last):
...
OSError: [Errno 13]
Permission denied: 'XXX/pip-0.7.2-py2.7.egg/EGG-INFO/dependency_links.txt'
Storing debug log for failure
in /Users/bilt/.pip/pip.log
安装成功后可以在终端中键入pip来检测,如果不行重启终端后尝试.
3.修改pip源
使用pip安装一些模块会特别慢甚至无法下载,因此我们需要修改pip的源到国内的一些镜像地址,特别感谢国内无私奉献的组织~
首先进入HOME路径:
cd~
创建.pip目录:
mkdir .pip
创建pip.conf文件:
touch pip.conf
大家可以用自己喜欢的编辑器打开pip.conf文件,我现在使用的时v2ex的源,所以添加:
[global]
index-url =http://pypi.v2ex.com/simple
大家可以把index-url的值设置为自己实际源的地址.
至此pip源修改成功,以后使用pip安装模块时都会从这个源去下载安装,大家可以自行测试一下.
三. 其他模块安装
1.Pillow/PIL
想用python处理图片,自然少不了PIL这个模块, 由于PIL长期没有更新了, 所以有了Pillow这个模块。
sudo pip install -U Pillow
2.urllib2、requests、 beautiful soup 4
安装方法同上
四.PyCharm的安装
下载PyCharm,免费版的虽然够用,但也仅仅是够用,想爬虫什么的还是不行,不想花钱的话百度一个注册码吧,毕竟只是学习的话还是有点贵。装好后,在设置中搜索theme,修改下配色方案,就可以使用了。
装好后,在设置中搜索theme,修改下配色方案,就可以使用了。
五.安装scrapy
Scrapy是python爬虫的一个框架,有了它,我们爬虫将会更加容易实现。
1.搭建虚拟环境virtualenv。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。
首先,我们用pip安装virtualenv:
$ pip install virtualenv
然后,创建目录
fxhdeMacBook-Pro:~ fxh$ cd
/users/fxh/documents/vir
fxhdeMacBook-Pro:vir fxh$
virtualenv --no-site-packages scrapy1
最后,启动环境
fxhdeMacBook-Pro:vir fxh$ source
scrapy1/bin/activate
2.在新建的虚拟环境中安装scrapy
pip install scrapy
六.pycharm关联
打开pycharm
选择create new project
然后在interpertr中找到你刚才用virtualenv创建的虚拟环境,注意,应该选择/bin/pythin2.7这个文件。
至此,环境已搭配完毕,可以使用了。