因为CentOS 自带的python是2.6,要想使用python2.7,需要对其进行升级。
- 升级python2.6到2.7
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgztar zxf Python-2.7.3.tgzcd Python-2.7.3./configure --prefix=/usr/local/python27如果不需要保留系统自带的python,可以不带--prefix参数make && make installmv /usr/bin/python /usr/bin/python_old(将原来的python命令转移到另一个地方)ln -s /usr/local/bin/python2.7 /usr/bin/python使用python2.7时,直接在shell中输入python2.7即可
- 更改yum的配置文件(因为升级到python2.7之后,原来的yum就无法使用了)
vim /usr/bin/yum#!/usr/bin/python 更改为 #!/usr/bin/python_old
- 如果出现RuntimeError: Compression requires the (missing) zlib module
yum install zlibyum install zlib-devel
再重新编译python2.7
- 安装Python-setuptools
必须源码安装,如果yum安装的话,有可能安装的是对应于python2.6的版本
wget --no-cookie --no-check-certificate http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#(上面由于使用了https和ssl的原因,需要使用上面两个参数,否则不能下载,将会提示"Unable to establish SSl connection")tar xzvf setuptools-0.6c11.tar.gzcd setuptools-0.6c11python setup.py buildpython setup.py install
- pip安装
# wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate# tar -xzvf pip-1.5.4.tar.gz# cd pip-1.5.4# python setup.py install
- pip使用报错【cannot import name HTTPSHandler】
处理:yum安装openssl和openssl-devel。然后重新编译python。
-
pip安装twisted 报错CompressionError: bz2 module is not available yum install bzip2-devel
-
pip安装scrapy
pip install scrapy
- 安装scrapy中报错缺少lxml包,所以需要下载lxml包,同时lxml包又依赖其他的一些包。需要先下载依赖包
easy_install Cythonyum install libxslt-devel libxml2-develllibffi-devel
再使用pip安装lxml包
pip install lxml
- 报错ImportError: No module named pydispatch
sudo pip install pydispatcher
报错ImportError: No module named cryptography.hazmat.bindings.openssl.binding,缺少cryptography包
yum install gcc libffi-devel python-devel openssl-develpip install cryptography