因为CentOS 自带的python是2.6,要想使用python2.7,需要对其进行升级。
- 升级python2.6到2.7
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
tar zxf Python-2.7.3.tgz
cd Python-2.7.3
./configure --prefix=/usr/local/python27
如果不需要保留系统自带的python,可以不带--prefix参数
make && make install
mv /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 zlib
yum 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.gz
cd setuptools-0.6c11
python setup.py build
python 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 Cython
yum 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-devel
pip install cryptography