Python是世界上使用最广泛的编程语言之一。凭借其简单易学的语法,Python是初学者和经验丰富的开发人员最流行的选择。
Python是一门相当通用的编程语言。它可以用于构建各种应用程序,从简单应用到复杂的机器学习算法。
Python 3.9标准库更新了许多新特性,并添加模块zoneinfo和graphlib。改进,如ast、asyncio、concurrent.futures、multiprocessing、xml等。
CentOS 仓库包含的版本是Python 3.6,可以使用dnf
命令/yum命令进行安装或更新。在撰写本文时,Python 3.9是Python语言的最新主要版本。
下载 Python源码
在CentOS 8构建Python 3.9源码是一个相对简单的过程,只需几分钟。在开始下载python源码之前请先检查是否存在新的python版本。
你可以点击此处查看可下载的python源码版本,如果有,理论上可以使用较新版本的python源码URL替换curl命令的URL。
从源码编译Python需要C/C++编译器和其他开发工具。首先要做的是在CentOS 8安装依赖的开发者工具。
请以root或具有sudo权限的用户运行dnf命令安装开发者工具以及第三方开发库,例如Zlib,OpenSSL。
然后运行curl
命令下载Python
源码存档文件。在撰写本文时,最新版本是3.9.15。
sudo dnf groupinstall 'development tools' -y
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 -y
curl -O https://www.python.org/ftp/python/3.9.15/Python-3.9.15.tar.xz
配置 Python构建
下载完成后,运行tar
命令解压缩tar.xz文件Python-3.9.15.tar.xz。运行cd命令切换到Python源码目录并运行configure
脚本。
脚本将会执行大量检查,以确保系统上的所有依赖项都存在。--enable-optimizations
选项将通过运行多个测试来优化Python二进制文件。
--enable-optimizations
选项将会使的python源码构建过程变慢。如果你需要添加更多选项,可以运行./configure --help
命令查看可以配置的选项。
tar -xf Python-3.9.15.tar.xz
cd Python-3.9.15/
./configure --enable-optimizations
编译 Python
运行make -j 12
开始启动构建Python源码。你可以修改-j
后面的数字,该数值与你的计算机处理器核数一致。
您可以在终端运行nproc
命令来找到CPU核心数。构建完成后,请以具有sudo权限的用户运行make altinstall
命令,安装Python二进制文件。
这里不使用标准make install
,是因为它将覆盖系统默认python3
二进制文件。至此,你已在CentOS 8安装Python 3.9。
您可以运行python3.9 --version
命令确定是否安装成功,该命令将会打印python的版本号。
make -j 12
sudo make altinstall
python3.9 --version
安装Python 包
在全局安装python包时,您应该始终使用apt
软件包管理器安装发行版提供的python包,因为它们是经过测试并可以在CentOS 8正常工作。
Python 3模块软件包的名称以python3
为前缀。例如安装paramiko python包,你可以运行命令sudo dnf install python3-paramiko
。
我们建议你在虚拟环境中使用pip安装python包。Python虚拟环境允许您将Python模块安装在特定项目的隔离位置,而不必全局安装。
这样,您不必担心会影响其他Python项目。仅当该模块没有rpm的安装包时,才使用pip全局安装该模块。
创建虚拟环境
Python虚拟环境是一个独立的目录树,它包含Python二进制和pip以及第三方模块。 它允许您将Python包安装在项目目录中,而不是全局安装在系统。
在此示例中,我们将在用户家目录中创建一个名为my_app的Python 3.9项目。首先,创建目录my_app
并切换到my_app
目录。
然后运行命令python3.9 -m venv .venv
创建虚拟环境.venv
。名称可以是你喜欢的任意名称,它只是一个目录用于存放python,pip和依赖包/模块等。
至此,Python虚拟环境你已在CentOS 8创建虚拟环境。
mkdir ~/my_app && cd ~/my_app
python3.9 -m venv .venv
激活虚拟环境
最后运行命令source .venv/bin/activate
激活虚拟环境。一旦激活,shell提示符将以python虚拟环境名称作为前缀。
从Python 3.4开始,在创建虚拟环境时将会安装Python pip包管理器,因此你不需要再安装pip。
值得一提的是,在虚拟环境中您可以使用pip
代替pip3.9
,使用python
代替python3.9
。
例如安装paramiko python包,可以运行命令pip install python3-paramiko
。你也可以运行python -v
命令确定当前使用的python版本。
source .venv/bin/activate
python -v
退出python虚拟环境
完成项目后,可通过运行deactivate
命令退出python虚拟环境,您将返回到正常的shell会话中。
退出python虚拟环境后,你可再次通过source .venv/bin/activate
命令再次进入python虚拟环境。
deactivate
结论
我们向您展示了如何在CentOS 8安装Python 3.9。您现在可以创建一个虚拟环境并开始开发Python 3项目。如果您有任何疑问或反馈,请随时在下面评论。