第一章[环境搭建]1.2:ubuntu linux编译安装python(3.12.0)

一,查看系统自带python的版本

liuhongdi@lhdpc:~$ python3 --version
Python 3.11.6

查看linux的版本:

liuhongdi@lhdpc:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 23.10
Release:        23.10
Codename:       mantic

说明:linux主要分为debian系统和redhat系,我们这里以debian系的ubuntu为例

二,安装的官方文档:

1,配置用的选项:

3. 配置 Python — Python 3.12.0 文档构建要求: 编译 CPython 所需的特性: C11 编译器。 可选的 C11 特性 不是必须的。, 对 IEEE 754 浮点数和 浮点 Not-a-Number (NaN) 的支持。, 对线程的支持。, 用于 ssl 和 hashlib 模块的 OpenSSL 1.1.1 或更新版本。, 在 Windows 上,需要 Microsoft Visual Studio 2017 或更新版本...https://docs.python.org/zh-cn/3/using/configure.html

2,安装依赖包的文档

Setup and buildingThese instructions cover how to get a working copy of the source code and a compiled version of the CPython interpreter (CPython is the version of Python available from https://www.python.org/). It...https://devguide.python.org/getting-started/setup-building/#install-dependencies

可能涉及到的依赖包,文档有讲到,如图:

说明:刘宏缔的go森林是一个专注golang的博客,
网址:https://blog.csdn.net/weixin_43881017
原文:
说明:作者:刘宏缔 邮箱: 371125307@qq.com

三,我们安装python最新版本的步骤:

1,安装依赖包:

apt-get install build-essential gdb lcov pkg-config libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev lzma lzma-dev tk-dev uuid-dev zlib1g-dev

2,得到下载链接

访问官网的下载页面:

https://www.python.org/downloads/https://www.python.org/downloads/

如图:

我们在Gzipped source tarball这个链接上右击,选择:复制链接地址

3,从命令行下载:

创建源代码文件和安装程序的目录

sudo mkdir /usr/local/source
sudo mkdir /usr/local/soft

进入保存源代码的目录,

cd /usr/local/source

用wget下载我们所复制的下载链接

wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz

 说明:wget是linux上执行下载的客户端命令,如果提示找不到此程序,
可以执行下面的命令进行安装

sudo apt-get update && sudo apt-get install wget

4,下载完成之后解压缩:

说明: 

tar命令的用途是打包备份文件
参数 z:用gzip/gunzip压缩或解压
         x:提取文件
         v:verbose:显示命令的执行过程
         f:指定要解压的文件名

tar -zxvf Python-3.12.0.tgz

5,配置:
configure的用途:检测安装环境,配置安装参数,生成供编译用的Makefile

–prefix :指定安装路径
–enable-optimizations: 用来启动优化

./configure --prefix=/usr/local/soft/python3.12 --enable-optimizations

6,编译:

make负责生成目标文件

make

7,安装

make install:负责把编译生成的目标文件安装到预定的目录

make install

四,安装完成后查看安装是否成功:

参数--version: 打印当前python的版本

/usr/local/soft/python3.12/bin/python3 --version

运行结果:

Python 3.12.0

五,安装过程中报错的处理:

安装过程中不会一帆风顺,中间遇到报错的一些处理:

1,pkg-config报错

报错:
configure: WARNING: pkg-config is missing. Some dependencies may not be detected correctly.

解决:缺少pkg-config这个包,安装即可

apt-get install pkg-config

2,gcc报错

报错信息:

configure: error: no acceptable C compiler found in $PATH

如下:

checking for gcc... no
checking for cc... no
checking for cl.exe... no
checking for clang... no
configure: error: in `/usr/local/source/Python-3.12.0':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

解决:安装gcc套件即可

apt-get install gcc

3,make报错

报错信息

root@lhdpc:/usr/local/source/Python-3.12.0# make
Command 'make' not found, but can be installed with:
apt install make        # version 4.3-4.1build1, or
apt install make-guile  # version 4.3-4.1build1

解决:提示说make未找到,

按提示执行apt install make即可

apt install make

4,zlib报错

报错信息:

Traceback (most recent call last):
  File "<frozen zipimport>", line 518, in _get_decompress_func
ModuleNotFoundError: No module named 'zlib'

解决:

apt-get install zlib1g-dev

5,openssl报错

报错信息:

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

解决:

apt-get install libssl-dev

六,编译安装不是必需的工作

最后说一下在linux上安装python不是必需的工作
1,linux上默认已安装了python套件,因为象apt/yum等包管理工具需要python环境,
     所以我们可以直接使用系统自带的python,
     例如用where命令可以看到自带python的安装路径

liuhongdi@lhdpc:~$ whereis python3
python3: /usr/bin/python3 /usr/lib/python3 
/etc/python3 /usr/share/python3 /usr/share/man/man1/python3.1.gz

2,如果对linux不熟悉,可以先从windows或macos环境开始,
      这两个环境更容易上手

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CentOS 8 的 Python 要求安装 OpenSSL 1.1.1 版本或更高版本。OpenSSL 是一个开源的加密库,提供了一组加密算法和安全通信协议的实现,被广泛应用于网络和系统安全领域。 为了满足 CentOS 8 的 Python 对 OpenSSL 版本的要求,可以按照以下步骤进行操作: 1. 检查当前系统上已安装的 OpenSSL 版本。可以通过在终端中运行以下命令来查看: ``` openssl version ``` 如果显示的版本低于 1.1.1,需要更新 OpenSSL。 2. 更新 OpenSSL。CentOS 8 的软件包管理器是 DNF (Dandified Yum),可以使用以下命令执行更新操作: ``` sudo dnf update openssl ``` 执行此操作后,系统会检查 OpenSSL 软件包的可用更新,并提示是否执行更新。按照提示操作即可完成更新。 3. 验证更新结果。在更新完成后,再次运行以下命令来查看已安装的 OpenSSL 版本: ``` openssl version ``` 如果显示的版本为 1.1.1 或更高版本,则证明更新成功。 4. 现在,您的 CentOS 8 系统已具备 Python 所需的 OpenSSL 版本要求。可以安装或运行需要较新 OpenSSL 版本的 Python 应用程序了。 Python 与 OpenSSL 的版本兼容性是重要的,因为 OpenSSL 提供了许多加密和网络安全相关的功能,而 Python 在处理加密和网络通信时需要依赖 OpenSSL。确保安装了正确版本的 OpenSSL 能够提高系统的安全性,并使 Python 在使用加密和网络功能时能够充分发挥作用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老刘你真牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值