最近在搞爬虫,使用的自然是大名鼎鼎的Scrapy。但是在安装Scrapy的时候遇到了很多问题,第一个问题就是Scrapy只兼容Python2.7以上的版本。而我的机器上使用的还是Python2.6,所以第一步就是要重装Python,具体的安装过程就不再赘述了,网上有很多这样的教程,并且也不复杂。稍显麻烦的可能是在使用Scrapy的时候还需要使用一些其他的包比如lxml等等。通常在原有的Python版本中是安装了的,比较偷懒的办法就是将这些包复制到新建的Python的搜索路径中。比如新的Python2.7的搜索路径是/usr/local/lib/python2.7/site-packages(这是默认的python工具和外部包安装路径,easy_install的默认安装路径就是这个),而原来的Python2.6的搜索路径是/usr/local/lib/python2.6/site-packages,那就将/usr/local/lib/python2.6/site-packages下的文件都复制到/usr/local/lib/python2.7/site-packages中。
另外一个问题就是在安装easy_install的时候遇到的,由于在使用scrapy的时候经常要用到service_indentity, 于是用easy_install安装service_indentity,结果出现了如下的错误:
Traceback (most recent call last): File "/usr/bin/easy_install", line 9, in <module> load_entry_point('distribute==0.7.3', 'console_scripts', 'easy_install')() File "/usr/local/lib/python2.7/site-packages/setuptools-15.0-py2.7.egg/pkg_resources/__init__.py", line 546, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/local/lib/python2.7/site-packages/setuptools-15.0-py2.7.egg/pkg_resources/__init__.py", line 2665, in load_entry_point raise ImportError("Entry point %r not found" % ((group, name),))ImportError: Entry point ('console_scripts', 'easy_install') not found
这是因为distribute升级到0.7之后的版本,就和以前的easy_install不兼容了,因为distribute从0.7版本后就和setuptools合并在一起了,而解决办法就是删除原有的easy_install,重新安装distribute。
第一步:删除easy_install
sudo rm -f /usr/bin/easy_install*sudo rm -f /usr/local/bin/easy_install*
第二部:安装distribute
curl -O https://svn.apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk/distribute_setup.pysudo python distribute_setup.pysudo rm distribute_setup.py
好了,这个问题解决了!