编译安装Python 3.9(Linux Centos 7)

发布于:2025-07-09 ⋅ 阅读:(19) ⋅ 点赞:(0)

在CentOS系统上编译安装Python 3.9.9,可按以下步骤操作:

1. 安装必要的依赖包

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make -y

2. 下载Python 3.9.9源码包

cd /tmp
wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz
tar -zxvf Python-3.9.9.tgz
cd Python-3.9.9

3. 配置编译选项

./configure --prefix=/usr/local/python3.9 --enable-optimizations  --with-ensurepip=install
# --enable-optimizations 是优化选项(LTO,PGO 等)加上这个 flag 编译后,性能有 10% 左右的优化,但是这会明显的增加编译时间,老久了,gcc版本
# --with-ensurepip=install 是 Python 源码编译配置时的一个选项,其作用是确保在编译安装 Python 的同时,将 pip(Python 包管理器)也一并安装

4. 编译并安装

make -j $(nproc)  # 并行编译,加快速度
# 有报错,执行 make clean 再执行make

make install

5. 设置Python 3.9为默认版本

sudo alternatives --install /usr/bin/python3 python3  /usr/local/python3.9/bin/python3.9 1
sudo alternatives --config python3

在这里插入图片描述

sudo alternatives --install /usr/bin/pip  pip  /usr/local/python3.9/bin/pip3 1
alternatives --config pip

在这里插入图片描述

6. 验证安装结果

python3 --version
pip --version

在这里插入图片描述

知识延伸

通过 alternatives 系统实现软链接的智能切换。

1. alternatives --install 命令
sudo alternatives --install /usr/bin/python python /usr/local/bin/python3.9 1
  • 作用:将 Python 3.9.9 添加到系统的可替代程序列表中,允许用户在多个 Python 版本间切换。
  • 参数解释:
    • /usr/bin/python:符号链接路径(最终用户调用的命令)。
    • python:替代组名称(用于标识同类程序,如 python、java 等)。
    • /usr/local/bin/python3.9:实际程序路径(新安装的 Python 3.9.9)。
    • 1:优先级(数字越大优先级越高,多个版本共存时决定默认值)。
2. alternatives --config 命令
sudo alternatives --config python

执行后效果:

2 个程序提供“python”。

  选择    路径                优先级  状态
------------------------------------------------------------
* 0           /usr/bin/python3.6   6         自动模式
  1           /usr/bin/python3.6   6         手动模式
  2           /usr/local/bin/python3.9   1         手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:

注意事项

  • 使用altinstall避免覆盖系统默认的Python
  • 若需使用pip,建议升级到最新版本:
    sudo pip3.9 install --upgrade pip
    

执行上述步骤后,Python 3.9.9将被安装到系统中,可通过python3.9pip3.9命令使用。


网站公告

今日签到

点亮在社区的每一天
去签到