CentOS 下安装比较麻烦,需要基于源码安装,所以在安装之前还需要安装很多依赖项,真的很多,先执行下面一个试试吧,不行再执行下面的,或者看缺少什么就安装什么吧。
1
2
3
|
yum install -y openssl-devel bzip2 -devel expat-devel gdbm-devel readline-devel sqlite-devel yum install gcc patch libffi-devel python-devel zlib-devel bzip2 -devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y yum -y install zlib-devel bzip2 -devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc |
1
|
wget https: //www .python.org /ftp/python/3 .7.5 /Python-3 .7.5.tgz |
解压
1
|
tar -xzvf Python-3.7.5.tgz |
进入解压后的目录
1
|
cd Python-3.7.5 |
指定安装目录
安装到/usr/local/python目录,不用事先创建python目录
1
|
. /configure --prefix= /usr/local/python |
编译
1
|
make |
安装
1
|
make install |
不出意外的话,这就安装成功了,执行 python 应该看到以下输出:
1
2
3
|
Python 3.7.5 (default, Nov 5 2019, 16:13:41) [GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux Type "help" , "copyright" , "credits" or "license" for more information. |
但是由于CentOS 的 yum 命令依赖 python2.6,所以还需要做一些配置
进入/usr/bin目录
1
|
cd /usr/bin |
重命名python2的快捷方式
注意:这一步和下一步可能不需要执行,我是参考别人文章操作的,执行了之后还有问题,然后又把上面的步骤重新执行一遍,然后创建python3与pip3软连接,才OK。
1
2
|
mv python python.bak mv pip pip.bak |
创建python3与pip3软连接
安装python会自动把pip也安装了,可能需要做软连接。
1
2
|
ln -s /usr/local/python/bin/python3 .7 /usr/bin/python ln -s /usr/local/python/bin/pip3 .7 /usr/bin/pip |
修改yum的python版本
查看/usr/bin目录下有哪些yum文件
1
|
ll yum* |
把这些文件的第一行#!/usr/bin/python改为#!/usr/bin/python2.6
因为yum是依赖python的,所以我们修改了默认的python,就要修改yum,让其运行指向python2.6。