CentOS 手动安装 Python 2.7 应源码编译至 /usr/local,用 make altinstall 避免覆盖系统 python;需安装开发工具及依赖库,禁用 /usr/bin/python 软链接以防 yum 失效。

CentOS 默认自带 Python 2.6(如 CentOS 6)或 Python 2.7(如 CentOS 7),但若需手动安装 Python 2.7(例如在 CentOS 6 上升级、或需要独立安装不影响系统 Python),推荐源码编译安装,避免破坏系统依赖。
确认当前 Python 版本和系统环境
运行以下命令查看现状:
$ python --version
$ which python
$ cat /etc/redhat-release
重点:不要删除或替换 /usr/bin/python,否则 yum 等系统工具会失效。新版本应安装到 /usr/local/bin 并通过软链接或修改 PATH 使用。
安装编译依赖
Python 2.7 编译需要基础开发工具和库:
立即学习“Python免费学习笔记(深入)”;
-
CentOS 6/7 均执行:
yum groupinstall "Development tools" -
安装必要库:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
下载、编译并安装 Python 2.7
以 Python 2.7.18(最终稳定版)为例:
$ cd /tmp
$ wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
$ tar -xzf Python-2.7.18.tgz
$ cd Python-2.7.18
$ ./configure --prefix=/usr/local --enable-optimizations
$ make -j$(nproc)
$ sudo make altinstall
关键点:
– 使用 make altinstall(不是 make install),避免覆盖系统 python 命令;
– 安装后可直接用 python2.7 和 pip2.7;
– --enable-optimizations 启用 PGO 优化,提升性能(可选但推荐)。
可选:设置默认 python2 指向新版本(谨慎操作)
若需 python2 命令调用 2.7,且不干扰 python(仍为系统 2.6):
$ sudo ln -sf /usr/local/bin/python2.7 /usr/local/bin/python2
$ sudo ln -sf /usr/local/bin/pip2.7 /usr/local/bin/pip2
注意:切勿运行 ln -sf /usr/local/bin/python2.7 /usr/bin/python —— 这会导致 yum 报错。











