
在 CentOS 8 上升级 Python 可以通过多种方式实现,但需要注意的是,CentOS 的系统工具和一些软件包依赖于默认的 Python 版本(通常是 Python 3.6)。因此,在升级 Python 时需要谨慎操作,以免影响系统的正常运行。
以下是几种常见的方法来安装更高版本的 Python 而不替换系统默认的 Python:
方法一:使用 Software Collections (SCL)
Software Collections 提供了一个在同一系统上并行安装多个版本软件的方式。
启用 SCL 仓库:
sudo yum install centos-release-scl列出可用的 Python 版本:
sudo yum list scl | grep python安装所需的 Python 版本,例如 Python 3.8:
sudo yum install rh-python38启用新安装的 Python 版本:
scl enable rh-python38 bash验证安装:
python --version # 输出应为 Python 3.8.x方法二:从源码编译安装
如果你需要特定版本的 Python 并且不想使用 SCL,可以从源码编译安装。
安装必要的构建工具和库:
sudo yum groupinstall "Development Tools"
sudo yum install openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel wget下载并解压 Python 源码,例如 Python 3.9:
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz
sudo tar xzf Python-3.9.7.tgz编译并安装 Python:
cd Python-3.9.7
sudo ./configure --enable-optimizations
sudo make altinstall使用 altinstall 是为了避免覆盖系统默认的 Python。
验证安装:
python3.9 --version # 输出应为 Python 3.9.7方法三:使用 pyenv
pyenv 是一个非常方便的工具,可以让你轻松地管理多个 Python 版本。
安装依赖项:
sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel安装 pyenv:
curl https://pyenv.run | bash将 pyenv 添加到你的 shell 环境。根据你的 shell 类型,编辑相应的配置文件(例如 .bashrc 或 .zshrc)并添加以下行:
export PATH=" $ HOME/.pyenv/bin: $ PATH"
eval " $ (pyenv init --path)"
eval " $ (pyenv virtualenv-init -)"重新加载 shell 配置文件:
source ~/.bashrc # 或者 source ~/.zshrc安装所需的 Python 版本,例如 Python 3.9:
pyenv install 3.9.7设置全局或局部 Python 版本:
pyenv global 3.9.7 # 或者在项目目录下设置局部版本 pyenv local 3.9.7验证安装:
python --version # 输出应为 Python 3.9.7通过以上方法,你可以在 CentOS 8 上安装和使用更高版本的 Python,同时保持系统默认的 Python 版本不变。选择适合你的方法进行操作即可。
评论