如何Ubuntu编译安装Python3?

Python

1 基础知识

1.1 Python的介绍

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。

1.2 Python特点

1.2.1 总体特点

– 广泛流行
– 开源免费
– 面向对象
– 可移植性
– 功能强大
– 易于使用

1.2.2 语言特点

– 优雅
– 明确
– 简单

2 最佳实践

2.1 准备工作

2.1.1 安装编译环境

apt install -y build-essential pkg-config

另外,你可以预装如下依赖包,

apt install -y libexpat1-dev libbz2-dev libreadline-dev libsqlite3-dev libffi-dev

2.1.2 下载源代码

cd ~
wget https://www.python.org/ftp/python/3.12.11/Python-3.12.11.tgz

2.1.3 解压软件包

cd ~
tar -xf Python-3.12.11.tgz

2.2 安装Python

2.2.1 执行预编译

cd ~/Python-3.12.11
./configure --prefix=/usr/local/python-3.12.11 --enable-optimizations

注:Python从设计上就运行多版本并存,所以无需卸载旧版本

2.2.2 执行编译

cd ~/Python-3.12.11
make

如果遇到以下提示,

Could not build the ssl module!
Python requires a OpenSSL 1.1.1 or newer

Checked 111 modules (31 built-in, 63 shared, 1 n/a on linux-x86_64, 1 disabled, 15 missing, 0 failed on import)

请安装如下依赖包,

apt install -y libssl-dev

如果还是无法解决,你可能需要使用编译安装解决依赖关系,请参考以下链接,
https://www.cmdschool.org/archives/28648
并使用如下指定版本的方式编译,

cd ~/Python-3.12.11
./configure --prefix=/usr/local/python-3.12.11 --with-openssl=/usr/local/openssl-1.1.1w --enable-optimizations

如果有如下错误提示,

Failed to build these modules:
_ctypes

请安装如下依赖包,

apt install -y libffi-dev

注:解决依赖关系后,你可能需要重新执行预编译和编译,否则新的依赖包可能无法被检测到。

2.2.3 编译并安装

make install

2.2.4 配置环境变量

vim /etc/profile.d/python-3.12.11.sh

加入如下配置,

export PYTHONHOME=/usr/local/python-3.12.11
export PATH=${PYTHONHOME}/bin:$PATH

修改完配置文件,你需要通过如下命令导入环境变量,

source /etc/profile.d/python-3.12.11.sh

2.2.5 测试安装

python3 -V

可见如下提示,

Python 3.12.11

参阅文档
=====================

Pythond的安装
——————–
https://docs.python.org/3/using/unix.html#on-linux

Python文档版本的下载
——————–
https://www.python.org/downloads/source/
https://www.python.org/downloads/

没有评论

发表回复

Python
如何基于Oracle Linux 8.x编译安装Python3?

1 基础知识 1.1 Python的介绍 Python是一种解释型、面向对象、动态数据类型的高级程序 …

Python
如何部署Oracle Linux 9.x Python应用?

1 前言 一个问题,一篇文章,一出故事。 由于笔者今天接到部署Python的应用的工作任务,于是整理 …

Python
如何部署Windwos Python环境?

1 前言 一个问题,一篇文章,一出故事。 由于笔者今天接到部署Windows Python的工作任务 …