centos7自带版本是 python2.7
如果要用的 3.0 以上的版本需要手动安装,下载地址:https://www.python.org/ftp/python/
1、先查看系统 python 的位置在哪儿
plain text_snippet
Plain Text · 1 line|
| whereis python |
python2.7 默认安装是在 /usr/bin 目录中,切换到 /usr/bin/
plain text_snippet
Plain Text · 3 lines|
| cd /usr/bin/ |
| ll python* |
从下面的图中我们可以看到,python 指向的是 python2,python2 指向的是 python2.7,因此我们可以装个 python3,然后将 python 指向 python3,然后 python2 指向 python2.7,那么两个版本的 python 就能共存了。

2、下载 python3 的包之前,要先安装相关的依赖包,用于下载编译 python3:
plain text_snippet
Plain Text · 1 line|
| yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make |
运行了以上命令以后,就安装了编译 python3 所用到的相关依赖
3、默认的 centos7 是没有安装 pip,先添加 epel 扩展源
plain text_snippet
Plain Text · 1 line|
| yum -y install epel-release |
4、安装 pip
plain text_snippet
Plain Text · 1 line|
| yum install python-pip |
5、用 pip 装 wget
plain text_snippet
Plain Text · 1 line|
| pip install wget |
6、用 wget 下载 python3 的源码包,或者自己先下载好,上传到服务器再安装,如果网络快可以直接安装
plain text_snippet
Plain Text · 1 line|
| wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz |
7、编译 python3 源码包,解压
plain text_snippet
Plain Text · 2 lines|
| xz -d Python-3.6.8.tar.xz |
| tar -xf Python-3.6.8.tar |
8、进入解压后的目录,依次执行下面命令进行手动编译
plain text_snippet
Plain Text · 5 lines|
| cd Python-3.6.8 |
| ./configure prefix=/usr/local/python3 |
| make && make install |
9、安装依赖 zlib、zlib-deve
plain text_snippet
Plain Text · 2 lines|
| yum install zlib zlib |
| yum install zlib zlib-devel |
10、最后没提示出错,就代表正确安装了,在 /usr/local/ 目录下就会有 python3 目录
11、添加软链接,将原来的链接备份
plain text_snippet
Plain Text · 1 line|
| mv /usr/bin/python /usr/bin/python.bak |
12、添加 python3 的软链接
plain text_snippet
Plain Text · 1 line|
| ln -s /usr/local/python3/bin/python3.6 /usr/bin/python |
13、测试是否安装成功了

14、更改 yum 配置,因为其要用到 python2 才能执行,否则会导致 yum 不能正常使用
plain text_snippet
Plain Text · 1 line|
| vi /usr/bin/yum |
15、把第一行的#! /usr/bin/python 修改为如下
plain text_snippet
Plain Text · 1 line|
| #! /usr/bin/python2 |
16、还有一个地方也需要修改
plain text_snippet
Plain Text · 1 line|
| vi /usr/libexec/urlgrabber-ext-down |
17、把第一行的#! /usr/bin/python 修改如下
plain text_snippet
Plain Text · 1 line|
| #! /usr/bin/python2 |
18、启动 python2
19、启动 python3

✦ 卷终 · 柯航存卷 ✦