CentOS升级Python2.7.12
Linux上自带的python是2.6版本,需要升级到2.7.12,步骤如下:
1、下载安装
wget http://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
tar -zxvf Python-2.7.12.tgz && cd Python-2.7.12
#编译安装
./configure --prefix=/usr/local/python27
make
make install
#此时已完成新版本的安装,但由于老版本还在系统中,所以需要将原来/usr/bin/python链接改为新的连接
#a.先修改老的连接,执行
mv /usr/bin/python /usr/bin/python2.6
#b.再建立新连接
ln -s /usr/local/python27/bin/python2.7/usr/bin/python
#查询python版本
python -V
2、解决yum无法使用的问题
因为yum支持的是python2.7之前的版本,所以需要将其使用的python版本指向原来的python2.6
#打开/usr/bin/yum
vim /usr/bin/yum
#将#!/usr/bin/python 修改为 #!/usr/bin/python2.6,保存退出
yum list
3、setuptools问题
首先第一步yum install python-setuptools
新的python安装之后,你会发现pip并不能使用,我尝试安装easy_install和pip遇到下面的问题:
Traceback (most recent call last):
File "/usr/bin/easy_install", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
百度是版本问题,找了一下网上Python2.7装的setuptools版本,各式各样,表示不知道装哪一个,试了两个好像并不行,最后找到一篇文章解决。
传送门
具体步骤:
#下载安装
wget https://pypi.python.org/packages/e9/93/e53fb79dbf5f4a1407feed7a19ea6d0e83765b354754e003cce7aa12b976/setuptools-28.8.0.zip#md5=0983d2f68bb4c73f9e7331883fa39220
#解压安装
cd /usr/local/srcsetuptools-28.8.0
python setup.py install
#修改执行脚本
ln -s /usr/local/python/bin/easy_install /usr/bin/easy_install
#之后查看easy_install --version观察是否easy_install安装在了/usr/local/python中而不是在系统默认的/usr/lib/python2.7中。如果没问题的话可以直接执行
easy_install pip
#建立软连接
ln -s /usr/local/python/bin/pip /usr/bin/pip
#最后验证pip没问题了
pip
可能遇到的错误:
Traceback (most recent call last):
File "/usr/libexec/urlgrabber-ext-down", line 22, in <module>
from urlgrabber.grabber import \
ImportError: No module named urlgrabber.grabber
解决方案:vi /usr/libexec/urlgrabber-ext-down
把头部的python改成和/usr/bin/yum中一样的
安装pip提示ImportError: No module named ‘pip._vendor.requests’
解决办法:yum install openssl-devel
重新编译python
make
make install
如果setuptools安装后pip安装失败,尝试一下重新安装:
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
tar -xvf setuptools-1.4.2.tar.gz
cd setuptools-1.4.2
python2.7 setup.py install
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-6.0.7.tar.gz
tar zxvf pip-6.0.7.tar.gz
cd pip-6.0.7
python setup.py install