在 CentOS 上安装 Python(尤其是新版本 Python 3)有几个很容易踩坑的点,下面按「注意事项 + 推荐做法」给你总结。
rm -f /usr/bin/python
或把 python 指向 Python 3
CentOS 7 及以前版本,很多系统命令依赖 Python 2:
yumfirewallddnf(CentOS 8)改坏系统 Python = 系统崩
✅ 正确原则:
/usr/local 或用虚拟环境dnf 或源码安装yum install python3
或
dnf install python3
优点:
缺点:
yum groupinstall "Development Tools"
yum install -y \
gcc make \
zlib-devel bzip2-devel \
openssl-devel ncurses-devel \
sqlite-devel readline-devel \
tk-devel libffi-devel \
xz-devel wget
⚠️ 不装这些,后面会:
cd /usr/src
wget https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tgz
tar xzf Python-3.9.18.tgz
cd Python-3.9.18
./configure --enable-optimizations
make -j $(nproc)
make altinstall
✅ 注意:
altinstall(不会覆盖 python)python3.9python3.9 -m pip --version
python3.9 -m ensurepip --upgrade
或:
yum install python3-pip
python3.9 -m venv venv
source venv/bin/activate
好处:
如果你是:
检查:
systemctl status firewalld
getenforce
✅ 推荐组合:
❌ 不推荐:
| 问题 | 原因 |
|---|---|
| pip 装不了包 | 没装 openssl-devel |
| import sqlite3 报错 | 没装 sqlite-devel |
| yum 坏了 | 改了系统 python |
| 找不到 python3 | 用了 altinstall |
CentOS 装 Python:系统 Python 不动,用 altinstall,装全依赖,用虚拟环境。
如果你告诉我:
我可以直接给你一套可复制的命令。