温馨提示×

centos源码装python吗

小樊
33
2026-10-09 06:28:10
栏目: 编程语言

可以在 CentOS 上通过源码编译安装 Python,而且这是很多场景(比如需要特定版本、启用某些模块)下的常见做法。

下面给你一个通用、稳妥的流程(以 CentOS 7/8 为例,安装 Python 3.11 示例)。


一、准备工作(安装依赖)

# CentOS 7
yum groupinstall -y "Development Tools"
yum install -y gcc make zlib-devel bzip2-devel \
openssl-devel ncurses-devel sqlite-devel \
readline-devel tk-devel gdbm-devel db4-devel \
libpcap-devel xz-devel libffi-devel

# CentOS 8 / Stream
dnf groupinstall -y "Development Tools"
dnf install -y gcc make zlib-devel bzip2-devel \
openssl-devel ncurses-devel sqlite-devel \
readline-devel tk-devel gdbm-devel \
libffi-devel xz-devel

二、下载 Python 源码

cd /usr/src
wget https://www.python.org/ftp/python/3.11.6/Python-3.11.6.tgz
tar xzf Python-3.11.6.tgz
cd Python-3.11.6

(版本可自己换)


三、编译安装

./configure \
--prefix=/usr/local/python3.11 \
--enable-optimizations \
--with-ssl-default-suites=openssl

make -j $(nproc)
make altinstall

⚠️ 推荐用 make altinstall 而不是 make install
避免覆盖系统自带的 python 命令(CentOS 系统工具依赖它)


四、建立软链接(可选)

ln -s /usr/local/python3.11/bin/python3.11 /usr/bin/python3.11
ln -s /usr/local/python3.11/bin/pip3.11 /usr/bin/pip3.11

使用:

python3.11 -V
pip3.11 -V

五、验证

python3.11
>>> import ssl, sqlite3, readline
>>> exit()

六、常见问题

1. pip 不存在?

python3.11 -m ensurepip

2. SSL 模块不可用?

通常是 openssl 版本太低(CentOS 7 常见)
→ 需要先源码装新 openssl,再编译 Python

3. 是否影响 yum?

✅ 不会,只要不替换 /usr/bin/python


七、替代方案(更省事)

  • CentOS 8:dnf install python3
  • 第三方源:Software Collections (SCL)
  • 容器:docker + python

如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 要装哪个 Python 版本
  • 是否用于生产环境

我可以给你精确命令。

0 踩