杰瑞科技汇

CentOS如何安装Python?

使用 pyenv (强烈推荐)

pyenv 是一个极其强大的 Python 版本管理工具,它允许你在同一台机器上轻松安装和切换多个版本的 Python,而不会影响系统自带的 Python,这是开发环境管理的最佳实践。

CentOS如何安装Python?-图1
(图片来源网络,侵删)

优点:

  • 多版本共存:可以安装和管理多个 Python 版本(如 3.8, 3.9, 3.10, 3.11)。
  • 环境隔离:每个项目可以指定使用特定的 Python 版本,避免版本冲突。
  • 不影响系统:不会覆盖系统自带的 Python,保证了系统的稳定性。
  • 简单切换:一条命令即可切换全局或当前目录的 Python 版本。

安装步骤:

安装 pyenv 的依赖项 你需要安装编译 Python 所需的开发工具和库。

# 对于 CentOS 7 / 8 / Stream
sudo yum groupinstall "Development Tools"
sudo yum install -y git openssl-devel bzip2-devel libffi-devel xz-devel

安装 pyenv 使用 curl 安装 pyenv

curl https://pyenv.run | bash

配置环境变量 安装完成后,你需要将 pyenv 添加到你的 shell 配置文件中,以便每次登录时都能加载它。

  • 对于 Bash (默认):
    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
    echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
    echo 'eval "$(pyenv init -)"' >> ~/.bashrc
  • 对于 Zsh:
    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
    echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
    echo 'eval "$(pyenv init -)"' >> ~/.zshrc

重新加载你的 shell 配置文件,让更改生效:

CentOS如何安装Python?-图2
(图片来源网络,侵删)
# 对于 Bash
exec "$SHELL"
# 对于 Zsh
exec "$SHELL"

验证 pyenv 安装 检查 pyenv 是否正确安装。

pyenv --version
# 应该输出类似 pyenv 1.x.x 的信息

使用 pyenv 安装 Python 现在你可以安装你想要的任何 Python 版本了,安装 Python 3.9.16:

# 安装指定版本
pyenv install 3.9.16
# 查看所有可安装的版本
pyenv install --list
# 查看当前已安装的版本
pyenv versions

使用 Python 版本 安装完成后,你可以切换 Python 版本。

# 设置全局 Python 版本(对所有用户目录生效)
pyenv global 3.9.16
# 验证当前使用的 Python 版本
python --version
# 应该输出 Python 3.9.16
# 为当前目录设置 Python 版本(创建一个 .python-version 文件)
# 进入你的项目目录,然后执行:
# pyenv local 3.9.16
# 临时在当前 Shell 会话中切换版本
pyenv shell 3.8.18
python --version # 此时输出 Python 3.8.18

使用 EPEL 仓库 (简单快捷)

如果你的需求只是安装一个较新的、稳定的 Python 版本,并且不想进行复杂的版本管理,可以使用 EPEL (Extra Packages for Enterprise Linux) 仓库。

CentOS如何安装Python?-图3
(图片来源网络,侵删)

优点:

  • 简单:一条 yum 命令即可完成安装。
  • 包管理:通过 yum 管理,升级和卸载方便。

缺点:

  • 版本可能过旧:EPEL 仓库提供的 Python 版本可能不是最新的。
  • 可能冲突:可能会与系统自带的 Python 产生冲突(虽然通常不会覆盖系统命令,但需要小心)。

安装步骤:

安装 EPEL 仓库

# 对于 CentOS 7
sudo yum install -y epel-release
# 对于 CentOS 8 / Stream
sudo dnf install -y epel-release

安装 Python 3 EPEL 仓库通常会提供 python3 包。

# 对于 CentOS 7
sudo yum install -y python3 python3-pip
# 对于 CentOS 8 / Stream (使用 dnf)
sudo dnf install -y python3 python3-pip

验证安装

python3 --version
# 应该输出一个版本号,Python 3.6.8 (CentOS 7) 或 Python 3.8.16 (CentOS 8)
# pip3 也应该可用
pip3 --version

从源码编译安装 (最灵活)

如果你需要安装最新的、或者特定功能的 Python 版本,可以从 Python 官方网站下载源码进行编译安装,这与 pyenv 的底层原理类似,但需要手动管理。

优点:

  • 版本最新:可以获取最新的稳定版或开发版。
  • 自定义:可以开启或关闭特定的编译选项。

缺点:

  • 复杂:步骤较多,容易出错。
  • 手动管理:需要自己处理路径和版本切换。

安装步骤:

安装编译依赖 与方法一相同,这是编译的先决条件。

sudo yum groupinstall "Development Tools"
sudo yum install -y git openssl-devel bzip2-devel libffi-devel xz-devel

下载 Python 源码 访问 Python 官网 获取最新版本的源码压缩包链接,然后使用 wget 下载,这里以 Python 3.11.4 为例。

# 创建一个临时目录
mkdir ~/python_src && cd ~/python_src
# 下载源码
wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz
# 解压
tar -xzf Python-3.11.4.tgz
cd Python-3.11.4

配置和编译

# 配置安装路径(建议安装在 /usr/local/ 下,避免覆盖系统文件)
# --enable-optimizations 会进行优化,编译时间稍长,但性能更好
./configure --enable-optimizations
# 编译 (使用 -j 参数可以利用多核 CPU 加速,-j4)
make -j 4

安装

# 需要 root 权限进行安装
sudo make altinstall

注意:这里使用 make altinstall 而不是 make installaltinstall 会避免覆盖系统默认的 python 可执行文件,防止破坏系统依赖。

验证安装

# 新安装的 Python 可执行文件通常在 /usr/local/bin/ 下
/usr/local/bin/python3.11 --version
# 你也可以创建一个软链接,方便使用
sudo ln -s /usr/local/bin/python3.11 /usr/local/bin/python3
# 然后就可以直接使用 python3 命令了
python3 --version

总结与建议

方法 优点 缺点 适用场景
pyenv 最佳实践,多版本管理,环境隔离,不冲突 初次设置稍复杂 所有开发者,特别是需要管理多个项目或 Python 版本的人。
EPEL 仓库 极其简单,快速安装 版本可能旧,灵活性差 快速部署,对 Python 版本要求不高的服务器或个人使用。
源码编译 版本最新,可自定义 复杂,手动管理,易出错 需要最新版本或特定功能,且熟悉 Linux 编译流程的高级用户。

对于绝大多数用户,我强烈推荐使用 pyenv 它为你提供了一个干净、灵活且强大的 Python 开发环境,是现代 Python 开发的必备工具。

分享:
扫描分享到社交APP
上一篇
下一篇