CentOS 7/8/9 一键安装 Python 3.10+ 并配置默认版本
第一步:准备工作 —— 安装编译依赖
根据你的 CentOS 版本,选择执行以下命令之一:
-
对于 CentOS 7 (使用
yum):sudo yum groupinstall -y "Development Tools" sudo yum install -y openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel gdbm-devel xz-devel -
对于 CentOS 8 / 9 (使用
dnf):sudo dnf groupinstall -y "Development Tools" sudo dnf install -y openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel gdbm-devel xz-devel
小贴士:
openssl-devel至关重要,它确保了 Python 的pip和requests等库能正常使用 HTTPS。libffi-devel则是很多 C 扩展模块所必需的。
第二步:下载、编译并安装 Python 3.10+
我们将从 Python 官网下载最新稳定版的源码,并进行编译安装。这里以 Python 3.10.12 为例,你可以访问 Python 官网 获取最新的下载链接。
-
进入一个临时目录并下载源码:
cd /tmp wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz -
解压并进入源码目录:
tar -xf Python-3.10.12.tgz cd Python-3.10.12 -
配置编译选项(关键步骤):
我们将 Python 安装到/usr/local/python3.10目录下,实现与系统 Python 的隔离。同时启用优化选项,提升运行性能。./configure --prefix=/usr/local/python3.10 --enable-optimizations --with-ssl--prefix=...: 指定安装路径,这是一个好习惯。--enable-optimizations: 启用性能优化,编译出的 Python 解释器会更快(推荐)。--with-ssl: 确保编译时链接到系统的 SSL 库。
-
开始编译和安装:
使用-j参数可以充分利用多核 CPU 加速编译过程。# 使用 nproc 自动获取 CPU 核心数进行编译 make -j$(nproc)# 使用 altinstall 安装,这是安全的关键! sudo make altinstall重点强调: 请务必使用
make altinstall而非make install。altinstall会在安装时避免创建python、python3这样的覆盖性符号链接,从而保护系统的默认 Python 不被干扰。
第三步:配置系统默认 Python 和 pip(核心环节)
现在 Python 3.10 已经安装好了,但系统还“不认识”它。我们将使用 CentOS 强大的 alternatives 工具来管理版本,实现平滑切换。
-
为
python3命令注册新版本:sudo alternatives --install /usr/bin/python3 python3 /usr/local/python3.10/bin/python3.10 1--install: 注册一个新的可选项。/usr/bin/python3: 通用链接的路径。python3: 链接的家族名称。/usr/local/python3.10/bin/python3.10: 我们新安装的 Python 的实际路径。1: 优先级,数字越大优先级越高。后续如果安装其他版本,可以设置更高的数字。
-
配置
python3的默认版本:sudo alternatives --config python3执行后,你会看到一个交互式菜单,列出所有已注册的
python3版本。输入我们刚刚安装的 Python 3.10 对应的数字,然后回车即可。There are 2 programs which provide 'python3'.Selection Command ----------------------------------------------- *+ 1 /usr/bin/python3.62 /usr/local/python3.10/bin/python3.10Enter to keep the current selection[+], or type selection number: 2 -
为
pip3命令重复以上操作:sudo alternatives --install /usr/bin/pip3 pip3 /usr/local/python3.10/bin/pip3.10 1 sudo alternatives --config pip3同样,在弹出的菜单中选择我们新安装的
pip3.10。 -
创建无版本号的
python和pip软链接(可选但推荐):
在现代开发中,python通常指向python3。我们可以创建一个软链接来简化命令。sudo ln -sf /usr/bin/python3 /usr/bin/python sudo ln -sf /usr/bin/pip3 /usr/bin/pip这一步让
python和pip命令直接指向alternatives管理的python3和pip3,实现了统一。
第四步:验证安装成果
一切就绪!现在打开一个新的终端会话,验证我们的工作成果。
# 检查 Python 版本
python --version
python3 --version# 预期输出都应该是:
# Python 3.10.12# 检查 pip 版本
pip --version
pip3 --version# 预期输出都应该是:
# pip 23.x.x from /usr/local/python3.10/lib/python3.10/site-packages/pip (python 3.10)
如果看到上述输出,恭喜你!你已经成功地在 CentOS 系统上安装并配置了 Python 3.10+,并且系统工具(如 yum/dnf)所依赖的旧版 Python 依然完好无损。
(可选)第五步:配置 pip 国内镜像源
为了提升 pip 安装包的速度,强烈建议配置国内镜像源。
-
创建 pip 配置目录:
mkdir -p ~/.pip -
创建并编辑配置文件:
vi ~/.pip/pip.conf -
在文件中填入以下内容(以清华大学镜像源为例):
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install] trusted-host = pypi.tuna.tsinghua.edu.cn
保存后,pip 的下载速度将得到质的飞跃。
