手把手教你升级CentOS 6.x 自带Python版本
@(Linux)[centos,python,python2.7,升级,安装, setuptools,pip]
前言
CentOS 6.x 系统自带的python版本为 Python 2.6.6,而大多时候我们用到的Python版本为2.7,因此,有必要把2.6的版本升级成2.7的。但是系统并没有提供一键升级的功能,所以本文将手把手教你在CentOS 6.x 系统中安装Python 2.7.x,并替换原来的 Python2.6,让你不踩一个坑就能轻松用上Python2.7哈~
前期准备
- 科学上网
从老D博客上下载最新的hosts文件,替换到/etc/hosts
,然后sudo service network restart
重启网络即可。 - 更新系统和开发工具集
yum -y update
yum groupinstall -y 'development tools'
yum install -y zlib-devel bzip2-devel openssl-devel xz-libs wget
开始安装
- 下载python2.7.x源码,以python2.7.12为例
wget http://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz
- 解压Python-2.7.12.tar.xz
tar xvJf Python-2.7.12.tar.xz
- 进入目录:
cd Python-2.7.12
- 运行配置 configure:
./configure --prefix=/usr/local
- 编译安装:
make
make altinstall
- 检查 Python 版本:
python2.7 -V
--> Python 2.7.12
这样python就安装成功了,不过别高兴太早,现在系统的python版本还是2.6,不信你直接输入
python -V
试试。因此我们需要再进一步设置,将用2.7的版本替换系统2.6的版本
- 建立软连接
ln -s /usr/local/bin/python2.7 /usr/bin/python
如果遇到提示
ln: 创建符号链接 "/usr/bin/python": 文件已存在
,则需要将原来python删除:rm -rf /usr/bin/python
然后再执行ln -s /usr/local/bin/python2.7 /usr/bin/python
- 检查系统的python版本
[root@iZbp1f11oygl51288t6onfZ Python-2.7.12]# python -V
Python 2.7.12
[root@iZbp1f11oygl51288t6onfZ Python-2.7.12]# which python
/usr/bin/python
- 安装 setuptools
# 获取setuptools源文件:
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
# 安装 setuptools
python setup.py install
- 安装pip
# 获取pip源文件:
wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz
# 解压文件
tar zvxf 1.5.5.tar.gz
# 进入文件夹
cd pip-1.5.5/
# 开始安装
python setup.py install
- 修复yum
到这里,现在的yum应该是不能用的,如下所示
[root@iZbp1f11oygl51288t6onfZ pip-1.5.5]# yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.7.12 (default, Mar 29 2017, 10:39:00)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)]
If you cannot solve this problem yourself, please go to
the yum faq at:
http://yum.baseurl.org/wiki/Faq
因为yum使用的是python2.6,不支持python2.7,所以我们要将yum的python版本还原回2.6
sudo vi /usr/bin/yum
将 #! /usr/bin/python
改为 #! /usr/bin/python2.6
这样再运行yum update
就不会报错啦~
参考: