centos安装python

确认当前python版本

1
2
3
4
5
[root@centos Python-3.6.1]# python
Python 2.7.5 (default, Nov 6 2016, 00:28:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

以上输出Python 2.7.5表示当前版本,因为yum使用的是Python2.7因此不能删除,所以只能重新安装一个替换版本。
输入以下命令查看目前系统使用的Python以及安装目录,接下来将要对该目录下的Python进行修改

1
2
3
4
5
6
[root@centos ~]# which python
/usr/bin/python
[root@centos ~]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root 7 May 30 05:52 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root 9 May 30 05:52 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 Nov 6 2016 /usr/bin/python2.7

下载安装

下载插件

根据官网提示,在centos下安装python3版本需要提前安装如下插件:
yum install gcc openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel -y

下载python

切换到/root/Downloads/目录,下载最新的3.7版本python
[root@localhost Downloads]# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0a1.tgz

解压安装包并迁移至/usr/local

[root@localhost Downloads]# tar -zxvf Python-3.7.0a1.tgz
[root@localhost Downloads]# mv Python-3.7.0a1 /usr/local
[root@localhost Downloads]# cd /usr/local/

创建Python3目录,以免覆盖Python2

[root@localhost Downloads]# mkdir python3
[root@localhost Downloads]# cd Python-3.7.0a1/
[root@localhost Python-3.7.0a1]# ./configure –prefix=/usr/local/python3

确认无误后,执行编译

[root@localhost Python-3.7.0a1]# make

确认无误后,执行编译安装

[root@localhost Python-3.7.0a1]# make install

此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字

mv /usr/bin/python /usr/bin/old_python

再建立新版本python的链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python

查看版本,直接输入python -V

解决升级Python后yum不能用的问题

升级Python后运行yum会报错

vi /user/bin/yum 编辑yum的执行文件,更改首行的/usr/bin/python 为上面重命名的名字或/usr/bin/目录下指向Python2.7的名字,之后再运行yum就正常了