1、确保安装所有依赖库:
在编译 Python 之前,确保安装了所有必要的依赖库。例如,在基于 Debian/Ubuntu 的系统上,可以运行以下命令:
sudo apt update
sudo apt install -y build-essential libffi-dev libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev
在基于 Red Hat/CentOS 的系统上,可以运行:
sudo yum groupinstall "Development Tools" -y
sudo yum install -y gcc make zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
检查编译器版本:
确保 gcc 的版本是最新的,或者与 Python 源代码兼容的版本。
检查 gcc 版本:
gcc --version
如果版本过旧,可以更新或安装新版本的 gcc。
清理并重新编译:
在编译之前,清理之前的构建文件:
make clean
然后重新运行配置和编译命令:
cd /root/Python-3.13.2
./configure --enable-optimizations
make
sudo make altinstall
配置环境变量
方法 2:永久配置(对所有终端有效)
编辑 shell 配置文件(根据你使用的 shell 选择对应的文件):
Bash:~/.bashrc
Zsh:~/.zshrc
Fish:~/.config/fish/config.fish
在文件末尾添加以下内容:
export PATH=/usr/local/bin:$PATH
使配置生效:
对于 Bash/Zsh:
source ~/.bashrc # 或 source ~/.zshrc
对于 Fish:
source ~/.config/fish/config.fish
验证:
which python3.13
创建别名(可选)
如果你希望使用 python3 或 python 命令来调用 Python 3.13.3,可以创建别名:
编辑 shell 配置文件(如 ~/.bashrc 或 ~/.zshrc)。
添加以下内容:
alias python3='/usr/local/bin/python3.13'
alias python='/usr/local/bin/python3.13'
使配置生效:
source ~/.bashrc # 或 source ~/.zshrc
验证:
python3 --version
python --version
注意事项
避免覆盖系统默认的 Python:
使用 make altinstall 而不是 make install,以避免覆盖系统默认的 python3 二进制文件。
如果需要覆盖系统默认的 Python,建议谨慎操作,并确保不会影响系统工具的正常运行。
检查依赖项:
确保安装了所有必要的依赖项,否则编译可能会失败。
权限:
在安装过程中,可能需要使用 sudo 提升权限。
路径冲突:
如果系统中存在多个 Python 版本,确保 PATH 环境变量中 /usr/local/bin 位于其他路径之前,以便优先使用新安装的 Python。