【Linux】CentOS升级Python2

[toc]

开头

如果你看到了这篇文章,你可能已经已经翻阅了无数的centos安装python教程,可能都没有作用,甚至还把环境快搞报废了,网上有的教程实在是太不负责任!

不要气馁,在这里我把我踩的坑尽量罗列出来,争取让您一步到位解决centos升级python环境问题!

我的机器环境: 腾讯云,Centos6,系统自带的是Python2.6.6,由于需要写爬虫,.py文件运行在2.6环境会无法连接htpps,故需要升级成2.7。

本文中参考了一些其他文章,但是网上基本重复文章很多,无法确定原作者到底是哪一篇,所以就不贴出来了,如果有侵权请告诉我。

升级Python2.7

备注:为什么说这个问题是个坑,主要是因为Centos6系统自带的是Python2.6.6,而控制台的python以及软件安装yum还有pip都默认连接到了2.6,当你装了2.7之后并不能很好的使用它。

安装必要的准备包

1
yum groupinstall "Development tools"

另外,Python安装中需要的一些依赖包

1
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel

下载安装Python2.7.11(可以去官网查更新的版本)

1
2
3
4
5
wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
tar vxf Python-2.7.11.tgz
cd Python-2.7.11.tgz
./configure --prefix=/usr/local
make && make install

建立软连接,使系统默认的 python指向 python2.7

1
2
3
4
5
6
7

# 删除原来的软连接
# 注意这里2.6.6可能不存在,我的里面是python2.6 所以就要自己更改下
mv /usr/bin/python /usr/bin/python2.6.6
# 建立软连接,总之这里的如果报错请自己查看系统目录里的文件名
ln -s /usr/local/bin/python2.7 /usr/bin/python

最后,检查python版本

1
python

yum修复

安装2.7之后,尤其是软连接成功后,yum就会废,因为yum不兼容2.7,这里就把yum关联到2.6上,因为2.6还在。

1
vi /usr/bin/yum  

将文件头部的
# !/usr/bin/python

改成
# !/usr/bin/python2.6.6
# 我的又是2.6,fuck!

现在再试试yum指令,应该可以用了!

pip修复

pip依然还关联在2.6上,要建立软连接,不然装的包都到了2.6上了。

先安装setup_tool:

1
2
3
4
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

之后安装pip:

1
2
3
4
5
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
安装完成之后,执行如下命令:

如果这样安装中间报错:

1
2
3
4
5
6
Traceback (most recent call last):
File "/usr/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2797, in <module>
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 576, in resolve
pkg_resources.DistributionNotFound: pip==7.1.0

就安装:

1
easy_install pip==7.1.0

安装Lxml

这样都做完后,由于我要使用到lxml,结果又半天装不上去,最后发现使用easy_install lxml,最方便了。安装过程中间可能会有卡住,耐心等重试,会好的!

若有问题欢迎留言!