python 3.13 必须源码编译安装,因主流发行版仓库尚未提供;直接 make install 会覆盖 /usr/bin 下系统关键二进制文件,导致 yum、ssh 等崩溃,应使用 make altinstall 并配合 --enable-optimizations、--enable-shared、--with-lto 参数,安装后需配置 ldconfig 和 path 确保动态库与命令可用。

直接结论:Python 3.13 必须源码编译安装,不能用 yum 或 apt 装——主流发行版仓库里根本还没有它。
为什么 make install 会搞崩系统?
因为默认的 make install 会把 python3 和 pip3 直接覆盖到 /usr/bin/ 下,而系统工具(如 yum、dnf、systemd-python)严重依赖旧版 Python 解释器。一旦被替换,yum update 可能直接报错退出,甚至导致 SSH 登录失败。
- 永远用
make altinstall,它只生成带版本号的二进制,比如python3.13、pip3.13 - 不要手动删或移动
/usr/bin/python——这是高危操作,很多教程教的mv /usr/bin/python /tmp实际上会让rpm数据库和系统管理工具失联 - 如果真要改默认
python3指向,用软链接 +update-alternatives(RHEL/CentOS)或update-binfmts(Debian),而不是暴力覆盖
./configure 必加的三个关键参数
不加这些,装出来的 Python 3.13 很可能缺功能、跑不动 pip、连 HTTPS 都请求不了。
-
--enable-optimizations:启用 PGO(Profile-Guided Optimization),实测提升约 10–15% 执行速度,且不影响兼容性 -
--enable-shared:生成动态链接库libpython3.13.so,否则后续编译 C 扩展(如numpy、cryptography)会报undefined symbol: PyExc_SystemError -
--with-lto:启用 Link-Time Optimization(GCC 10+ 支持),进一步压缩体积并优化调用路径;若 GCC 版本低于 10,跳过此项即可
示例完整命令:
./configure --enable-optimizations --enable-shared --with-lto --prefix=/usr/local/python3.13
装完 pip3.13 报 ImportError: libpython3.13.so.1.0 怎么办?
这是最常踩的坑:Python 动态库路径没进系统缓存,pip3.13 启动时找不到自己的运行时库。
- 确认
libpython3.13.so.1.0确实在/usr/local/python3.13/lib/下(不是/usr/local/lib/) - 创建配置文件:
sudo tee /etc/ld.so.conf.d/python3.13.conf写入/usr/local/python3.13/lib - 立刻刷新:
sudo ldconfig(别漏这步,ldconfig -v | grep python可验证) - 验证:
python3.13 -c "import _ctypes; print('OK')",不报错才算真正就绪
环境变量 vs 软链接:哪个更安全?
答案是:优先配 PATH,慎用全局软链接。
- 在
/etc/profile或~/.bashrc中加export PATH="/usr/local/python3.13/bin:$PATH",所有终端新会话自动生效,且不影响 root 用户或系统服务 - 软链接如
ln -sf /usr/local/python3.13/bin/python3.13 /usr/bin/python3本质是全局覆盖,一旦出问题难回滚;而且/usr/bin下的文件受 RPM 包管理器保护,下次yum update可能把它“修”回去 - 如果必须统一命令名,建议用 alias:
alias python3='/usr/local/python3.13/bin/python3.13',仅对当前用户生效,风险可控
真正容易被忽略的是:Python 3.13 默认禁用了 __truediv__ 在整数除法中的隐式转换行为(PEP 703),但这个变更只影响从源码启用 --without-pymalloc 编译的极少数场景;日常使用无需干预,但 CI 构建脚本若显式传了该 flag,就得检查兼容性。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











