前言:基于在 Ubuntu 22.04 上安装 Python 3.9 - muzing的杂货铺

的补充

更新系统软件

在开始之前首先检查系统软件是否为最新,并更新到最新版

打开终端,输入以下命令

#刷新软件包目录
sudo apt update
#列出当前可用的更新
sudo apt list --upgradable
#如果上一步提示有更新的项目,则执行更新
sudo apt upgrade

安装GCC编译器

打开终端,使用apt安装GCC编译器:

#安装GCC编译器
sudo apt insatll gcc
#检查安装是否成功
gcc -v
#若显示出GCC版本则为成功

ubuntu普通用户安装python环境安装到哪里 在ubuntu安装python_Python

ubuntu普通用户安装python环境安装到哪里 在ubuntu安装python_Python_02

ubuntu普通用户安装python环境安装到哪里 在ubuntu安装python_ubuntu_03

出现gcc version 后面的版本即为成功 

有些可能会出现

ubuntu普通用户安装python环境安装到哪里 在ubuntu安装python_Python_04

我们用root权限也无法使用,这时候需要输入下面这三行 

ubuntu普通用户安装python环境安装到哪里 在ubuntu安装python_ubuntu_05

再进行输入 就不会出现dpkg前端锁了。

安装其他依赖

Python的部分功能依赖于对应的库,如果在编译时未能找到这些库,仍可能完成编译,此时的Python解释器看似在工作,但在需要使用特定功能时就会出现问题。

# 刷新软件包目录
sudo apt update
# 安装依赖
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libbz2-dev liblzma-dev sqlite3 libsqlite3-dev tk-dev uuid-dev libgdbm-compat-dev libncurses-dev libnspr4-dev

编译与安装

通过wget下载,我这边只需要3.7.9版本,所以演示3.7.9版本安装过程

#下载 Python 3.7.9
sudo wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz
#下载其他版本只需替换版本号数字

 

解压并进入目录,后续的所有命令均在该目录下执行

#解压
tar -xf Python -3.7.9.tar.xz
#进入该目录
cd Python-3.7.9/

配置

#检查依赖与配置编译
sudo ./configure --enable-optimization --with-lto --enable-shared

此处使用了三个可选配置选项,含义如下:

--enable-optimizations:用 PROFILE_TASK 启用以配置文件主导的优化(PGO)
--with-lto:在编译过程中启用链接时间优化(LTO)
--enable-shared:启用共享 Python 库 libpython 的编译
更多可用配置项的信息,请参阅 Python 官方文档。

这里的configure可能会出现以下情况

ubuntu普通用户安装python环境安装到哪里 在ubuntu安装python_ubuntu_06

我们接下来需要输入以下两行

sh configure
#稍作等待
#然后添加执行权限
chmod u+x configure

经过一系列检查无误后,会自动生成Makefile,即可进行下一步的编译了

编译

完成配置后,生成Makefile就可以开始编译了,编译耗时较长,可以使用 -j 指定参与编译的CPU核心数

#编译,-j 后面的数字为参与编译的cpu核心数,根据个人机器配置调整
sudo make -j 6

安装

#安装二进制文件
sudo make altinstall

链接动态库 

由于编译配置中有 --enable-share 的选项,故此时直接使用命令python3.7会提示无法找到,

所以我们只需找到so文件

ubuntu普通用户安装python环境安装到哪里 在ubuntu安装python_python_07

之后即可使用python3.7类似命令 查找python版本

ubuntu普通用户安装python环境安装到哪里 在ubuntu安装python_python_08

 然后我们需要查询pip版本

ubuntu普通用户安装python环境安装到哪里 在ubuntu安装python_linux_09

这里又提示我们无法获得前端锁,所以前面三行代码我们得再来一遍

然后

sudo apt insatll python-pip

 稍等后安装成功pip

输入

#注意V要大写
pip -V

即可查看pip版本 

ubuntu普通用户安装python环境安装到哪里 在ubuntu安装python_linux_10

至此安装便全部结束