升级原因
由于公司内部的服务器使用CentOS6.6,默认的python版本是Python 2.7.14,自己所学习的事Python3,所以想要升级到学习版本。
我在网上看了一些文章,由于很多基本的命令、软件包都依赖旧版本,比如:yum。
所以,在更新 Python 时,建议不要删除旧版本(新旧版本可以共存)。
安装配置
在服务器下载新版本
1
wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
解压缩
1
tar -zxvf Python-3.6.9.tgz
安装配置
1
2
3
4cd Python-3.6.9
./configure
# 如果执行报错:configure: error: no acceptable C compiler found in $PATH
# 说明没有安装合适的编译器,这时,需要安装/升级 gcc 及其它依赖包: gcc yum install make gcc gcc-c++编译 & 安装
1
2make
make install验证
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19[root@localhost Python-3.6.9]# python
Python 2.6.6 (r266:84292, Jul 23 2015, 15:22:56)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
[root@localhost Python-3.6.9]# python3
Python 3.6.9 (default, Jul 11 2019, 09:22:29)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
[root@localhost bin]# ls -l /usr/local/bin/python3*
lrwxrwxrwx. 1 root root 9 Jul 11 09:24 /usr/local/bin/python3 -> python3.6
-rwxr-xr-x. 2 root root 10030878 Jul 11 09:23 /usr/local/bin/python3.6
lrwxrwxrwx. 1 root root 17 Jul 11 09:24 /usr/local/bin/python3.6-config -> python3.6m-config
-rwxr-xr-x. 2 root root 10030878 Jul 11 09:23 /usr/local/bin/python3.6m
-rwxr-xr-x. 1 root root 3083 Jul 11 09:24 /usr/local/bin/python3.6m-config
lrwxrwxrwx. 1 root root 16 Jul 11 09:24 /usr/local/bin/python3-config -> python3.6-config
设置 3.x 为默认版本
- 查看 Python 的路径,在 /usr/bin 下面。
可以看到 python 链接的是 python 2.7,所以,执行 python 就相当于执行 python 2.7。
1
2
3
4[root@localhost bin]# ls -l /usr/bin/python*
-rwxr-xr-x. 2 root root 9032 Jul 24 2015 /usr/bin/python
lrwxrwxrwx. 1 root root 6 Aug 20 2018 /usr/bin/python2 -> python
-rwxr-xr-x. 2 root root 9032 Jul 24 2015 /usr/bin/python2.7将原来 python 的软链接重命名:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16[root@localhost bin]# mv /usr/bin/python /usr/bin/python.bak
[root@localhost bin]# ls -l /usr/bin/python*
lrwxrwxrwx. 1 root root 6 Aug 20 2018 /usr/bin/python2 -> python
-rwxr-xr-x. 2 root root 9032 Jul 24 2015 /usr/bin/python2.6
-rwxr-xr-x. 2 root root 9032 Jul 24 2015 /usr/bin/python.bak
[root@localhost bin]# ln -s /usr/local/bin/python3 /usr/bin/python
[root@localhost bin]# ls -l /usr/bin/python*
lrwxrwxrwx. 1 root root 22 Jul 11 09:43 /usr/bin/python -> /usr/local/bin/python3
lrwxrwxrwx. 1 root root 6 Aug 20 2018 /usr/bin/python2 -> python
-rwxr-xr-x. 2 root root 9032 Jul 24 2015 /usr/bin/python2.6
-rwxr-xr-x. 2 root root 9032 Jul 24 2015 /usr/bin/python.bak
[root@localhost bin]# python -V
Python 3.6.9
配置 yum
- 升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,需要编辑 yum 的配置文件:
1
2
3vim bin/yum
vim libexec/urlgrabber-ext-down
将