在Ubuntu环境下安装python

 前言:基于在 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版本则为成功

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

有些可能会出现

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

再进行输入 就不会出现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可能会出现以下情况

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

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

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

编译

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

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

安装

#安装二进制文件
sudo make altinstall

链接动态库 

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

所以我们只需找到so文件

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

 然后我们需要查询pip版本

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

然后

sudo apt insatll python-pip

 稍等后安装成功pip

输入

#注意V要大写
pip -V

即可查看pip版本 

至此安装便全部结束 

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值