CentOS系统通常预装Python 2.7(用于系统工具如yum),首先确认现有Python版本:
python --version # 查看Python 2版本(若存在)
python3 --version # 查看是否预装Python 3
若已满足需求,无需重复安装;若需特定版本(如Python 3.9+),则继续以下步骤。
编译Python源码需依赖多个开发库,执行以下命令安装:
sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel xz-devel
选择所需版本(如3.9.0),通过wget下载(以Python 3.9.0为例):
cd /tmp # 临时目录存放安装包
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
tar zxvf Python-3.9.0.tgz # 解压
cd Python-3.9.0 # 进入解压目录
指定安装目录(如/usr/local/python39),避免覆盖系统默认Python:
./configure --prefix=/usr/local/python39
make && sudo make install # 编译并安装到指定目录
将Python和pip命令链接到系统路径,方便全局调用:
cd /usr/local/python39/bin
sudo cp python3 python # 复制python3为python
sudo cp pip3 pip # 复制pip3为pip
sudo chmod +x python pip # 添加执行权限
编辑系统环境变量文件,将Python路径加入PATH:
sudo vi /etc/profile # 使用root权限编辑
在文件末尾添加以下内容(替换为实际安装路径):
export PATH=/usr/local/python39/bin:$PATH
保存后使配置生效:
source /etc/profile
验证环境变量是否生效:
echo $PATH # 应包含/usr/local/python39/bin
python --version # 应显示安装的Python版本(如3.9.0)
pip --version # 验证pip是否可用
虚拟环境可隔离项目依赖,避免版本冲突:
sudo yum install -y epel-release # 安装EPEL仓库
sudo yum install -y python3-virtualenv # 安装virtualenv
pip install virtualenvwrapper # 安装virtualenvwrapper
编辑用户配置文件(如~/.bashrc):
vi ~/.bashrc
添加以下内容(替换为实际Python解释器路径):
export WORKON_HOME=$HOME/.virtualenvs # 虚拟环境存储目录
export VIRTUALENVWRAPPER_PYTHON=/usr/local/python39/bin/python # 指定Python解释器
source /usr/local/python39/bin/virtualenvwrapper.sh # 加载virtualenvwrapper
保存后使配置生效:
source ~/.bashrc
mkvirtualenv myenv # 创建名为myenv的虚拟环境
workon myenv # 激活虚拟环境(终端提示符会显示环境名)
deactivate # 退出虚拟环境
需重新编译OpenSSL并指定路径:
# 卸载旧版OpenSSL(若有)
sudo yum remove openssl
# 下载并编译OpenSSL(以1.1.1为例)
wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
tar zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make && sudo make install
# 重新配置Python,指定OpenSSL路径
cd /tmp/Python-3.9.0
./configure --prefix=/usr/local/python39 --with-openssl=/usr/local/openssl
make && sudo make install
修改yum配置文件,指定Python 2路径:
sudo vi /usr/libexec/urlgrabber-ext-down
将首行#!/usr/bin/python改为#!/usr/bin/python2;
同理修改/usr/bin/yum文件的首行。