最近学习python的爬虫框架scrapy。官方给的安装文档真心坑爹,自己安装的时候真心不容易啊,一定要记录下来,以备查阅。
如果有哪些盆友遇到这样问题,拿走,不谢。
笔者环境:
用oracle VM virtualVox装的虚拟机,系统是centos6.5,能连互联网。
前提准备
- Python 2.7
- Pip和setuptools python 包。现在安装pip会连带着安装setuptools
- Lxml
- 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
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
[root@hadoop132 hadoop]#
安装成功
后记
安装过程的不容易是始料未及的,遇到不会的,就用搜索引擎。
我们总是珍惜那些来之不易的东西。以后再搭建scrapy环境,我就没那么痛苦了.
最近就搞scrapy了,爬一些好玩的东西,同时我也会记录学习过程。