在Linux上安装scrapy【史上最全】

最近学习python的爬虫框架scrapy。官方给的安装文档真心坑爹,自己安装的时候真心不容易啊,一定要记录下来,以备查阅。

如果有哪些盆友遇到这样问题,拿走,不谢。

笔者环境:

用oracle VM virtualVox装的虚拟机,系统是centos6.5,能连互联网。

前提准备

  1. Python 2.7
  2. Pip和setuptools python 包。现在安装pip会连带着安装setuptools
  3. Lxml
  4. Openssl,一般系统自带

安装其他的软件

安装必要的软件,乱七八糟的很多东西

注意:切换root用户

[root@hadoop132 hadoop]# yum groupinstall "Development Tools"   //这个过程比较慢,要安装很多东西。

[root@hadoop132 hadoop]# yum -y install gcc  python27-devel  libxml2 libxml2-devel libxslt libxslt-devel openssl libffi-devel libjpeg-turbo-devel sqlite-devel zlib openssl-devel

 

 

安装python2.7

系统自带的是Python2.6,所以需要手动安装。

地址这里https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz

我喜欢把库之类的东西放在/usr/local/src/下

 

[root@hadoop131 src]# pwd

/usr/local/src

[root@hadoop131 src]# wget http://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz

[root@hadoop131 src]# tar -xzvf Python-2.7.10.tgz

[root@hadoop131 src]# rm -f Python-2.7.10.tgz

[root@hadoop131 bin]#mkdir  /usr/local/src/python-2.7.10 //python的安装位置

[root@hadoop131 src]# cd Python-2.7.10/

指定python安装的位置

[root@hadoop131 Python-2.7.10]# ./configure –prefix=/usr/local/src/python-2.7.10

编辑Modules/Setup文件 

 [root@hadoop131 Python-2.7.10]# vim Modules/Setup

在命令模式使用/zlib查找

找到下面这句,去掉注释 

zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz 

保存退出

 [root@hadoop131 Python-2.7.10]# make && make install

[root@ hadoop131 Python-2.7.10]# python -V

Python 2.6.6

这时python依然指向的是2.6,解决方案就是破坏python的指向,重新定义它。

[root@hadoop131 Python-2.7.10]# whereis python

python: /usr/bin/python /usr/bin/python2.6 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python2.7-config /usr/local/bin/python2.7 /usr/local/bin/python /usr/local/lib/python2.7 /usr/include/python2.6 /usr/share/man/man1/python.1.gz

[root@hadoop131 Python-2.7.10]# mv /usr/bin/python /usr/bin/python_old    //破坏指向

[root@hadoop131 Python-2.7.10]# python

-bash: /usr/bin/python: No such file or directory

建立新的python的软连接

[root@hadoop132 Python-2.7.10]# ln -s /usr/local/src/python-2.7.10/bin/python /usr/bin/

[root@ hadoop132 Python-2.7.10]# python -V

Python 2.7.10

yum又不好使了,解决如下:

[root@hadoop132 Python-2.7.10]# vim /usr/bin/yum

将开头的

#!/usr/bin/python

改为

#!/usr/bin/python_old

Python2.7加入环境变量

[root@spider140 python-2.7.10]# cd /usr/local/src/python-2.7.10/

[root@spider140 python-2.7.10]# pwd

/usr/local/src/python-2.7.10

[root@spider140 python-2.7.10]#

追加

export PYTHON_HOME=/usr/local/src/python-2.7.10/

export PATH=$PATH:$PYTHON_HOME/bin

到/etc/profile中,执行. /etc/profile使改动生效

 

[root@hadoop132 Python-2.7.10]# python -V

Python 2.7.10

Python2.7终于安装完毕!~!~

 

 

安装Pip

[root@hadoop132 hadoop]# wget http://bootstrap.pypa.io/get-pip.py  --no-check-certificate

[root@hadoop132 hadoop]# python get-pip.py

[root@hadoop132 hadoop]# pip -V

pip 7.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)

[root@hadoop132 hadoop]#

安装成功

安装Twisted

Twisted是用Python实现的基于事件驱动的网络引擎框架。Scrapy用到了它。

[root@hadoop132 hadoop]# wget http://pypi.python.org/packages/source/T/Twisted/Twisted-15.4.0.tar.bz2 --no-check-certificate

 

[root@hadoop131 hadoop]# tar -xvf Twisted-15.4.0.tar.bz2

[root@hadoop132 hadoop]# cd Twisted-15.4.0/

[root@hadoop132 Twisted-15.4.0]# python setup.py install

[root@hadoop132 Twisted-15.4.0]# python

Python 2.7.10 (default, Oct 16 2015, 07:20:23)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import twisted

>>>

安装成功

 

 

安装cryptography

[root@hadoop132 hadoop]# wget http://pypi.python.org/packages/source/c/cryptography/cryptography-0.4.tar.gz --no-check-certificate

[root@hadoop132 hadoop]# tar -xzvf cryptography-0.4.tar.gz

[root@hadoop132 hadoop]# cd cryptography-0.4/

[root@hadoop132 hadoop]# python setup.py build

[root@hadoop132 hadoop]# python setup.py install

 

安装scrapy

[root@hadoop132 hadoop]# pip install Scrapy

[root@hadoop132 hadoop]# scrapy -help

Scrapy 1.0.3 - no active project

 

Usage:

  scrapy [options] [args]

 

Available commands:

  bench         Run quick benchmark test

  commands     

  fetch         Fetch a URL using the Scrapy downloader

  runspider     Run a self-contained spider (without creating a project)

  settings      Get settings values

  shell         Interactive scraping console

  startproject  Create new project

  version       Print Scrapy version

  view          Open URL in browser, as seen by Scrapy

 

  [ more ]      More commands available when run from project directory

 

Use "scrapy -h" to see more info about a command

[root@hadoop132 hadoop]#

安装成功

后记

安装过程的不容易是始料未及的,遇到不会的,就用搜索引擎。

我们总是珍惜那些来之不易的东西。以后再搭建scrapy环境,我就没那么痛苦了.

最近就搞scrapy了,爬一些好玩的东西,同时我也会记录学习过程。

转载于:https://my.oschina.net/huaxiaoqiang/blog/2986385

你可能感兴趣的:(在Linux上安装scrapy【史上最全】)