Python是世界上使用最广泛的编程语言之一。 凭借其简单易学的语法,Python是初学者和经验丰富的开发人员最流行的选择。 Python是一门相当通用的编程语言。它可以用于构建各种应用程序,从简单应用到复杂的机器学习算法。

CentOS 8存储库包含的版本是Python 3.6,可以使用dnf命令/yum命令进行安装或更新。在撰写本文时,Python 3.8是Python语言的最新主要版本。它包括许多新功能,例如赋值表达式,位置参数,f字符串支持等等

标准CentOS 8存储库中不提供Python 3.8。本教程说明如何从源码编译/构建安装/Python 3.8在CentOS 8。包括使用dnf命令安装编译Python源码的开发工具和依赖/开发库,使用wget命令下载python源码,使用make编译并安装python,检查Python版本。我们还将向您展示如何创建虚拟环境。

安装Python

从源码编译Python需要C/C++编译器和其他开发工具包。首先要做的是在CentOS 8上安装从源码构建Python所需的开发者工具。

为此,请以root或具有sudo权限的用户运行以下dnf命令安装开发者工具,然后安装构建编译Python所需的软件模块或者第三方库。

sudo dnf groupinstall 'development tools'
sudo dnf install bzip2-devel expat-devel gdbm-devel \
    ncurses-devel openssl-devel readline-devel wget \
    sqlite-devel tk-devel xz-devel zlib-devel libffi-devel

下载python源码

使用wget命令Python下载页面下载最新版本的python源码。当前最新的Python版本是3.8.1。 如果有新版本可供下载,请在以下命令中更改VERSION变量:

VERSION=3.8.1
wget https://www.python.org/ftp/python/${VERSION}/Python-${VERSION}.tgz

当python源码压缩包下载完成后,使用tar命令提取/解压缩tgz文件。python源码压缩包将解压到当前目录下:

tar -xf Python-${VERSION}.tgz

编译Python

解压缩完成后使用cd命令换目录到Python源码目录,然后运行configure脚本,该脚本执行许多检查,以确保系统上的所有依赖项都存在:

cd Python-${VERSION}
./configure --enable-optimizations

--enable-optimizations选项通过运行多个测试来优化Python二进制文件。 这会使构建过程变慢。通过运行以下make命令启动Python 3.8编译/构建过程:

make -j 12

要加快构建时间,请修改-j对应的处理器的核心数。您可以通过键入nproc来找到CPU的核心数。

编译过程完成后,请勿使用标准make install,因为它会覆盖默认的系统python二进制文件。 通过键入以下make命令来安装Python二进制文件:

sudo make altinstall

至此。 CentOS系统上已经安装了Python 3.8,您可以开始使用它了。

检查Python版本

你可以通过打印python的版本号来验证python是否正确的安装。运行以下python命令将打印Python的版本:

python3.8 --version

输出应显示Python版本:

Python 3.8.1

虚拟环境

Python虚拟环境是一个自包含的目录树,其中包括Python和python的依赖库与第三方文件。它允许您将Python模块安装在项目的隔离位置,而不是全局安装。

这样,您不必担心会使用pip安装的第三方模块/库影响其他Python项目。这也是Python虚拟环境核心作用之一。

在此示例中,我们将在用户家目录中创建一个名为my_app的Python 3.8项目。首先,使用mkdir命令创建项目目录并使用cd命令切换到目录my_app

mkdir ~/my_app && cd ~/my_app

从Python 3.6开始,创建虚拟环境的推荐方法是使用venv模块。您可以为虚拟环境使用任何名称,在本教程中我们使用venv作为名称,这是创建python虚拟环境常见方式。

如你想隐藏python虚拟环境目录,你也可以使用隐藏目录创建虚拟环境,例如.venv等。从项目根目录内部运行以下命令来创建名为venv的虚拟环境:

python3.8 -m venv venv

当Python虚拟环境创建完成后,我们需要手动激活虚拟环境,请输入以下source命令激活并加载puthon的虚拟环境:

source my_app_venv/bin/activate

激活后,虚拟环境的bin目录将添加到$PATH环境变量的开头。另外,您的Shell提示符将更改,并显示您当前正在使用的python虚拟环境名称。在这种情况下,你的python虚拟环境名称就是venv

在虚拟环境中,您可以使用pip代替pip3.8python代替python3.8

python -v
Python 3.8.1

完成工作后,请键入deactivate以停用python虚拟环境,然后将返回到正常的shell会话中。

deactivate

结论

我们已向您展示了如何在CentOS 8计算机上构建/编译/安装Python 3.8以及如何创建虚拟环境。 您现在可以开始开发Python 3项目。如果您有任何问题或反馈,请随时在下面评论。