CentOS安装Python多版本的方法
在CentOS系统中,由于默认Python版本(如CentOS 7的Python 2.7)可能无法满足现代开发需求,安装多版本Python并灵活切换是常见需求。以下是几种常用方法,涵盖从简单到灵活的不同场景:
YUM是CentOS默认的包管理工具,可通过添加EPEL(Extra Packages for Enterprise Linux)和IUS(Inline with Upstream Stable)仓库,便捷安装预编译的Python 3版本(如3.6、3.8、3.9),且不会覆盖系统默认的Python 2.7。
步骤:
sudo yum update -y
sudo yum install epel-release -y
sudo yum install https://repo.ius.io/ius-release-el7.rpm -y # CentOS 7适用
sudo yum install python38 python38-pip -y
python3.8 --version确认版本,系统仍保留python命令指向Python 2.7,python3命令指向默认Python 3(若未修改则为3.6)。注意:YUM安装的版本有限,若需要最新版本(如3.11+),需选择其他方法。
pyenv是专门用于管理多个Python版本的工具,支持在同一系统上安装、切换不同版本的Python,且不影响系统默认Python。
步骤:
sudo yum install -y git gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel findutils
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv install --list,选择所需版本安装(如3.8.10、3.9.5):pyenv install 3.8.10
pyenv install 3.9.5
pyenv global 3.8.10pyenv local 3.9.5python --version。若需要安装最新稳定版Python(如3.12+)或自定义编译选项(如启用优化),可通过源码编译安装。此方法需手动管理,但灵活性最高。
步骤:
sudo yum groupinstall "Development Tools" -y
sudo yum install -y gcc openssl-devel bzip2-devel libffi-devel
altinstall避免覆盖系统Python):cd /usr/src
sudo wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz
sudo tar xzf Python-3.9.9.tgz
cd Python-3.9.9
sudo ./configure --enable-optimizations # 启用优化,提升性能
sudo make altinstall # 使用altinstall避免覆盖系统python命令
python3.9 --version查看版本,系统保留原Python 2.7和YUM所需的Python 3版本。CentOS的update-alternatives工具可用于管理系统级多版本软件,包括Python。通过该工具可设置默认Python版本,并在多个版本间切换。
步骤:
/usr/bin下有对应可执行文件(如python3.8、python3.9)。sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 # 权重1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2 # 权重2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 3 # 权重3
sudo update-alternatives --config python
输入对应数字并按回车键,验证python --version。conda是开源的包与环境管理器,适合数据科学项目,可创建隔离环境并指定Python版本,避免依赖冲突。
步骤:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
按提示完成安装,激活conda:source ~/.bashrc。myenv的环境,使用Python 3.8:conda create --name myenv python=3.8
conda activate myenv
激活后,python --version显示为3.8,且所有pip安装的包均隔离在该环境中。退出环境:conda deactivate。altinstall或工具(如pyenv)管理。venv、virtualenv或conda环境),避免依赖冲突。--enable-optimizations选项,可提升Python运行效率(编译时间较长)。