CentOS release 6.9 下 Python 3.7.5 安装记录

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。

原文地址:https://www.cnblogs.com/xzlive/p/13524161.html