在Ubuntu18下源码编译安装Python教程

 更新时间:2026年05月13日 14:49:20   作者:winfred_hua  
本文介绍了在Linux系统中安装Python3.9.13的具体步骤,包括更新系统包、安装编译依赖、下载源码、编译安装等,最后可设置默认版本

知识点

  • 知识点1:在 Linux 系统里,/usr 目录通常用于存放一些共享的、只读的程序和数据,是系统安装软件的一个重要位置。而 /usr/src 目录一般是用来存放系统源代码以及一些软件包的源代码的地方 。
  • 知识点2:echo $?查看上一条命令是否执行成功,0表示成功。
  • 知识点3:建议使用最终部署的linux用户安装Python。

步骤 1:更新系统包

sudo apt update
sudo apt upgrade

步骤 2:安装编译依赖

sudo apt install -y build-essential checkinstall
sudo apt install -y libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev sqlite3 bzip2 openssl libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev uuid-dev

步骤 3:下载 Python 3.9.13 源码

注:如果服务器网速比较慢,可以在Windows下载后上传到Linux.

cd /usr/src
sudo wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz
sudo tar xzvf Python-3.9.13.tgz

步骤 4:编译并安装 Python

cd Python-3.9.13
sudo ./configure --enable-optimizations
sudo make -j$(nproc)
sudo make altinstall
  • --enable-optimizations:当你使用该选项编译 Python 时,Python 解释器在运行 Python 脚本时可能会有更好的性能表现。
  • make -j$(nproc) :这条命令的意思是让 make 命令以并行的方式执行编译任务,并行任务的数量等于当前系统中可用的 CPU 核心数,目的加快编译速度。

步骤 5:验证安装

python3.9 --version

输出应为:

Python 3.9.13

步骤 6:设置 Python 3.9 为默认版本(可选)

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决linux下vim中文乱码的方法

    解决linux下vim中文乱码的方法

    在vim中编辑一个中文文本时,有时候看起来有乱码,以前都是修修补补的弄没有乱码了就不管了,这个问题一直都很困扰我。突然想到这个问题想把它给解决掉,在网上有很多这方面的资料,但是说得不是很到位,经过了一天的折腾并做了一些小测试终于搞定了。下面来一起看看吧。
    2016-12-12
  • Linux环境部署DNF仓库以及配置NFS共享服务

    Linux环境部署DNF仓库以及配置NFS共享服务

    本文详细介绍了如何在Linux环境下部署DNF仓库和配置NFS共享服务,DNF仓库主要用于集中管理软件包,而NFS共享服务则用于多系统间的文件共享,文章涵盖了从仓库部署、软件包同步到NFS配置和客户端访问的全过程,为系统管理员提供了全面的指导
    2025-04-04
  • Linux系统重置用户密码的操作指南

    Linux系统重置用户密码的操作指南

    在 Linux 系统运维中,重置用户密码(尤其是 root 密码)是一项核心技能,当您忘记密码时,可以通过进入单用户模式或恢复模式来修改密码,下面我将以重置 root 密码为例,详细说明步骤,需要的朋友可以参考下
    2025-09-09
  • Linux一行命令处理批量文件详解

    Linux一行命令处理批量文件详解

    这篇文章主要介绍了Linux一行命令处理批量文件详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • CentOS8查看IP报错:bash:ifconfig:command not found的原因及解决方案

    CentOS8查看IP报错:bash:ifconfig:command not found的原因及解

    在使用 CentOS 8 系统时,有时会遇到使用 ​​ifconfig​​ 命令查看网络接口信息时出现 ​​bash: ifconfig: command not found​​ 的错误,所以本文给大家介绍了报错的原因和解决方案,需要的朋友可以参考下
    2025-03-03
  • Apache环境下配置多个ssl证书搭建多个站点的方法

    Apache环境下配置多个ssl证书搭建多个站点的方法

    这篇文章主要介绍了Apache环境下配置多个ssl证书搭建多个站点的方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • 干货 | Linux新手入门好书推荐

    干货 | Linux新手入门好书推荐

    今天在知乎上看到了这样一个问答:学习操作系统的知识,看哪本书好?读完之后,我决定理一下操作系统方面的好书推荐给需要学习这个方向知识的人。下面这篇文章主要给Linux新手们推荐了一些入门的好书,需要的朋友可以参考下。
    2017-10-10
  • Linux文件编辑命令vi详细整理(总结)

    Linux文件编辑命令vi详细整理(总结)

    本篇文章主要介绍了Linux文件编辑命令详细整理(总结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • CentOS7 Grub引导故障恢复全过程

    CentOS7 Grub引导故障恢复全过程

    文章介绍了当CentOS7的/boot/grub2/grub.cfg文件丢失时的恢复步骤,包括手动引导进入系统、永久修复GRUB配置以及使用救援模式进行修复
    2026-01-01
  • Linux nohup命令原理及实例解析

    Linux nohup命令原理及实例解析

    这篇文章主要介绍了Linux nohup命令原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05

最新评论