概述

习惯使用 CentOS 的同学应该都有感觉,即使是最新的 CentOS 7.8 自带的 Python 版本也还是 Python 2.7,这个原因有很多,也很复杂,但是甭管如何,这对于我们平时的使用多多少少都是有一些不方便的,例如有一些 Python 库上来就要求必须是 Python3.5 以上,这就很无奈了。

这里,我就准备在我的 CentOS 下安装一个 Python3 的最新版本,目前的最新版本是 Python3.8,所以我就决定安装这一个版本的,但是,需要说明的是,我不准备覆盖原来的 Python2.7,也就是说,最终在我的系统中,会有两个 Python 的版本,互不干扰,如果你觉得这样对你的使用有一些阻碍的话,我以前写过一些文章可以帮助你解决这些问题:

下载 Python3.9 源代码

Python 提供了一个 FTP 地址,在这个 FTP 你可以下载的各个版本的 Python 源代码:

我下载的是 Python3.9 版本的:Python-3.9.0.tgz

  1. [root@liqiang.io]# wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz -O /tmp/Python-3.9.0.tgz
  2. [root@liqiang.io]# cd /tmp && tar zxf Python-3.9.0.tgz
  3. [root@liqiang.io]# cd Python-3.9.0

编译前准备

因为编译 Python 源代码需要依赖于很多工具,所以得先准备一下:

  1. [root@liqiang.io]# yum update -y
  2. [root@liqiang.io]# yum groupinstall -y 'Development Tools'
  3. [root@liqiang.io]# yum install -y gcc openssl-devel bzip2-devel libffi-devel

编译安装 Python3.9

因为在旧版本的 gcc 中使用 --enable-optimizations 可能会有问题,所以这里去除了 --enable-optimizations,你可以自行按照我的教程升级 GCC ,然后替换成:./configure prefix=/usr/local/python3 --enable-optimizations

  1. [root@liqiang.io]# ./configure prefix=/usr/local/python3
  2. [root@liqiang.io]# make && make install
  3. [root@liqiang.io]# export PATH=$PATH:/usr/local/python3/bin/

测试安装效果

要想测试是否正确安装,并且可以正确使用 Python3.9 和 pip3,我这里采用 Virtualenv 的方式进行验证:

  1. [root@liqiang.io] curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
  2. [root@liqiang.io] python3.9 get-pip.py
  3. [root@liqiang.io] python3 -m pip install virtualenv
  4. [root@liqiang.io] python3 -m virtualenv venv
  5. [root@liqiang.io] source venv/bin/activate
  6. (venv) [root@liqiang.io] python --version
  7. Python 3.9.0

OK,到此就表示一切都安装正常了,可以和其他环境一样使用 Python3 了。

Ref