CentOS 8包含Python 3.6版本,可以使用dnf工具安装或更新。
在撰写本文时,Python 3.8是Python语言的最新主要版本。它包括许多新特性,如赋值表达式、仅定位的参数、f-string支持等等。Python 3.8在标准的CentOS 8存储库中不可用。
本指南解释了如何从源代码在CentOS 8上构建Python 3.8。我们还将向您展示如何创建虚拟环境。
在CentOS 8上安装Python 3.8
从源代码编译Python需要C/C++编译器和其他开发包。首先要做的是在CentOS 8上安装构建Python所需的包。为此,作为root或sudo用户运行以下命令:
[root@iZwz9g27qld9va1076x1rrZ ~]#dnf groupinstall 'development tools'[root@iZwz9g27qld9va1076x1rrZ~]#dnf install bzip2-devel expat-devel gdbm-devel \
ncurses-devel openssl-devel readline-devel \
sqlite-devel tk-devel xz-devel zlib-devel wget
使用wget从Python下载页面下载最新版本的源代码。 当前,如新的Python 3.8版本是3.8.1。 如果有可供下载的新版本,请在以下命令中更改VERSION变量:
[root@iZwz9g27qld9va1076x1rrZ ~]#VERSION=3.8.1
[root@iZwz9g27qld9va1076x1rrZ ~]#wget https://www.python.org/ftp/python/${VERSION}/Python-${VERSION}.tgz
下载完成后,解压缩刚下载的文件:
[root@iZwz9g27qld9va1076x1rrZ ~]#tar -xf Python-${VERSION}.tgz
转到Python源目录并运行configure脚本,该脚本执行许多检查以确保系统上的所有依赖项都存在:
[root@iZwz9g27qld9va1076x1rrZ ~]#cd Python-${VERSION}
[root@iZwz9g27qld9va1076x1rrZ Python-3.8.1]# ./configure --enable-optimizations
--enable-optimizations选项通过运行多个测试来优化Python二进制文件。 这会使构建过程变慢。
通过运行以下命令启动Python 3.8构建过程:
[root@iZwz9g27qld9va1076x1rrZ Python-3.8.1]# make -j 4
修改-j以对应于处理器中的内核数。 您可以通过键入nproc查找编号。
构建过程完成后,安装Python二进制文件:
[root@iZwz9g27qld9va1076x1rrZ Python-3.8.1]# sudo make altinstall
请不要使用标准的make install,因为它将覆盖默认的系统Python二进制文件。
OK。 CentOS系统上已经安装了Python 3.8,您可以开始使用它了。 通过键入以下内容进行验证:
[root@iZwz9g27qld9va1076x1rrZ ~]# python3.8
--version Python 3.8.1
[root@iZwz9g27qld9va1076x1rrZ ~]# python3
Python 3.6.8 (default, Nov 21 2019, 19:31:34) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux Type "help", "copyright", "credits" or "license" for more information.
输出应显示Python版本
创建虚拟环境
Python虚拟环境是一个独立的目录树,其中包括Python安装和许多其他软件包。 它允许您将Python模块安装在特定项目的隔离位置,而不是全局安装。 这样,您不必担心会影响其他Python项目。
在此示例中,我们将在用户主目录内创建一个名为linuxidc_app的新Python 3.8项目。
首先,创建项目目录并切换到该目录:
[linuxidc@localhost ~/www.linuxidc.com]$mkdir ~/linuxidc_app && cd ~/linuxidc_app
在项目根目录内部,运行以下命令以创建一个名为linuxidc_app_venv的虚拟环境:
[linuxidc@localhost ~/linuxidc_app]$python3.8 -m venv linuxidc_app_venv
激活环境:
[linuxidc@localhost ~/linuxidc_app]$source linuxidc_app_venv/bin/activate
激活后,shell提示符将以环境名称为前缀。 从Python 3.4开始,在创建虚拟环境pip时,默认情况下会安装Python的软件包管理器。
在虚拟环境中,您可以使用pip代替pip3.8,并使用python代替python3.8:
(linuxidc_app_venv) [linuxidc@localhost ~/linuxidc_app]$python -V Python 3.8.1
完成停用环境的工作后,键入deactivate,您将返回到常规shell。
(linuxidc_app_venv) [linuxidc@localhost ~/linuxidc_app]$deactivate
转载于:https://www.linuxidc.com/Linux/2020-02/162296.htm