CentOS 6.5下安装python3.7

下载并解压

1
2
3
[root@hadoop001 ~]# cd /usr/local/
[root@hadoop001 local]# wget https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz
[root@hadoop001 local]# tar -xzvf Python-3.7.12

编译安装三部曲

1
2
3
4
5
6
[root@hadoop001 local]# cd Python-3.7.12
[root@hadoop001 Python-3.7.12]# ./configure --prefix=/usr/local/python37
...
[root@hadoop001 Python-3.7.12]# make
...
[root@hadoop001 Python-3.7.12]# make install

image-20220115173628211

更改/usr/bin目录下的链接

备份旧版本,创建软连接到新版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@hadoop001 Python-3.7.12]# cd /usr/bin/
[root@hadoop001 bin]# ll python*
-rwxr-xr-x. 2 root root 9032 Nov 22 2013 python
lrwxrwxrwx. 1 root root 6 Sep 25 18:02 python2 -> python
-rwxr-xr-x. 2 root root 9032 Nov 22 2013 python2.6
[root@hadoop001 bin]# mv python python-2.6.6
[root@hadoop001 bin]# rm python2
rm: remove symbolic link `python2'? y
[root@hadoop001 bin]# ln -s /usr/bin/python-2.6.6 python2
[root@hadoop001 bin]# ln -s /usr/local/python37/bin/python3.7 /usr/bin/python
[root@hadoop001 bin]# ll python*
lrwxrwxrwx. 1 root root 33 Jan 15 17:41 python -> /usr/local/python37/bin/python3.7
lrwxrwxrwx. 1 root root 12 Jan 15 17:40 python2 -> python-2.6.6
-rwxr-xr-x. 2 root root 9032 Nov 22 2013 python2.6
-rwxr-xr-x. 2 root root 9032 Nov 22 2013 python-2.6.6

修改yum配置

yum默认的python依赖版本是2.6,为了不让python3影响到yum的使用,单独把yum配置给原来的python版本。

1
[root@hadoop001 bin]# vi /usr/bin/yum

把最上面的一行配置回python2.6.6就行了

1
#!/usr/bin/python-2.6.6

测试

最后测试一下python3.7是否安装完毕,以及yum是否还是可用。

1
2
python --version
yum

有打印出相应信息就是成功了。

1
2
3
4
5
6
7
[root@hadoop001 bin]# python --version
Python 3.7.12
[root@hadoop001 bin]# yum
Loaded plugins: fastestmirror, refresh-packagekit, security
You need to give some command
Usage: yum [options] COMMAND
...