在 CentOS 7 / RHEL 7 上安装 Python 3.11
原文链接:https://computingforgeeks.com/install-python-3-on-centos-rhel-7/
Python 是一种高级解释性编程语言,已被用于各种应用程序开发,并在近年来获得了巨大的流行。Python 可用于编写广泛的应用程序,包括 Web 开发、数据分析、科学计算、人工智能、游戏等。由于其简单易用,它是初学者的理想语言。
Python 作为一种编程语言取得成功的一些因素包括:
- 它是开源的:作为一种开源语言意味着任何人都可以访问和修改代码以满足其业务需求。
- 它是面向对象的:Python 是一种面向对象的语言,这意味着 Python 中的一切都是对象。
- 它是一种跨平台 语言:Python 代码可以在 Linux、Windows 和 macOS 等主要操作系统上运行。
- 拥有 庞大的社区:Python 拥有一个庞大且活跃的开发人员社区,他们为其开发做出贡献并创建第三方库和工具。
- 解释性 语言:Python 是一种解释性语言,意味着在运行代码之前无需编译代码。
- 广泛的库:有大量的标准库和第三方库,这使得在Python中执行各种任务变得很容易。
- 易于学习:Python 是一种深受初学者欢迎的语言,因为它具有简单易学的语法。
Python广泛应用于金融、医疗保健和科技等行业,并且由于其丰富的数据分析和可视化库和工具集而受到数据科学家和研究人员的欢迎。创建本内容时 Python 的最新稳定版本是 Python 3.11。
Python 3.11 特性和改进
- 信息更丰富的错误回溯
- 由于 Faster CPython 项目,代码执行速度更快。
- 任务和异常组可简化异步代码的使用。
- 新的类型功能可改进 Python 的静态类型支持。
- 本机 TOML 支持使用配置文件。
- 改进的类型变量 – PEP 646:可变参数泛型、PEP 673:自类型、PEP 675:任意文字字符串类型、PEP 681:数据类转换和PEP 655:将单个 TypedDict项目标记为必需或可能缺失。
- Python 3.11 的启动时间更快。
- 支持受 C++ 和 Java 等其他语言启发的零成本异常。
- Python 3.11 支持异常注释以帮助向代码添加任意注释。
- 用于浮点数表示的负零格式。
在本文中,我们将向用户展示如何在 CentOS 7 / RHEL 7 上安装和使用 Python 3.11。
在 CentOS 7 / RHEL 7 上安装 Python 3.11
Python 3.11 是一个重要的版本,引入了许多新功能和对该语言的改进。在本节中,我们将介绍在 CentOS 7 / RHEL 7 Linux 系统上安装 Python 3.11 的所有必要步骤。
第1步:更新系统
建议执行此步骤,但这是一个可选步骤。如果系统上正在运行其他应用程序并且担心依赖关系会破坏,则可以跳过此步骤。
sudo yum -y update
更新成功后,让我们重新启动系统。
sudo systemctl reboot
第2步:安装Python 3.11构建工具
Python 3.11 在 CentOS 7 / RHEL 7 存储库的官方存储库中不可用。我们将从源代码安装它,但在构建过程之前需要安装依赖包。
sudo yum -y install epel-release
sudo yum install wget make cmake gcc bzip2-devel libffi-devel zlib-devel
所有开发工具都可以使用以下命令从包组安装:
sudo yum -y groupinstall "Development Tools"
确认GCC版本:
$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
步骤 3:在 CentOS 7 / RHEL 7 上安装 OpenSSL 1.1
构建 Python 3.11 需要openssl 1.1.1或更高版本。系统存储库中可用的版本是旧的。
按照以下指南中的步骤在 CentOS 7 / RHEL 7 上安装和配置 OpenSSL 1.1.1:
- 如何在 CentOS 7 / RHEL 7 上安装 OpenSSL 1.1.x
步骤 4:在 CentOS 7 / RHEL 7 上安装 Python 3.11
构建 Python 3.11 需要openssl 1.1.1或更高版本。系统存储库中可用的版本是旧的。
安装OpenSSL 1.1.1后,通过检查版本进行验证:
$ openssl version
OpenSSL 1.1.1t 7 Feb 2023
让我们下载Python 3.11源代码:
wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz
提取下载的存档
tar xvf Python-3.11.4.tgz
导航到创建的目录。
cd Python-3.11*/
配置构建
LDFLAGS="${LDFLAGS} -Wl,-rpath=/usr/local/openssl/lib" ./configure --with-openssl=/usr/local/openssl
make
在 CentOS 7 / RHEL 7 上安装 Python 3.11
sudo make altinstall
安装完成后,可以使用以下命令查看已安装的Python 3.11版本:
$ python3.11 --version
Python 3.11.4
验证 OpenSSL 库是否正常工作
$ python3.11
Python 3.11.4 (main, May 24 2023, 12:20:28) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.1.1t 7 Feb 2023'
Use exit() or Ctrl-D (i.e. EOF) to exit
>>> Ctrl-D
步骤5:使用Pip3.11安装Python模块
Pip 在 Python 安装过程中安装。通过运行此命令检查安装的 pip 版本。
$ pip3.11 --version
pip 22.3.1 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)
您可以将 Pip 包升级到最新版本:
pip3.11 install --upgrade pip
设置国内镜像:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple查看镜像地址:
pip config list
现在使用 PIP 安装任何模块。使用的命令语法如下:
sudo pip3.11 install <module-name>
例如:
sudo pip3.11 install awscli
结论
总之,Python 的多功能性、简单性及其功能使其成为任何想要学习或采用编程语言用于各种应用程序和项目的人的绝佳选择。有许多库、框架和工具可让您高效地构建创新应用程序。
相关文章:
在 CentOS 7 / RHEL 7 上安装 Python 3.11
原文链接:https://computingforgeeks.com/install-python-3-on-centos-rhel-7/ Python 是一种高级解释性编程语言,已被用于各种应用程序开发,并在近年来获得了巨大的流行。Python 可用于编写广泛的应用程序,包括 Web 开发、数据分…...
SVN基本使用笔记——广州云科
简介 SVN是什么? 代码版本管理工具 它能记住你每次的修改 查看所有的修改记录 恢复到任何历史版本 恢复己经删除的文件 SVN跟Git比,有什么优势 使用简单,上手快 目录级权限控制,企业安全必备 子目录Checkout,减少不必要的文件检出…...
python爬虫-Selenium
一、Selenium简介 Selenium是一个用于Web应用程序测试的工具,Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。模拟浏览器功能,自动执行网页中的js代码,实现动态加载。 二、环境配置 1、查看本机电脑谷歌浏览器的版…...
flutter plugins插件【一】【FlutterJsonBeanFactory】
1、FlutterJsonBeanFactory 在Setting->Tools->FlutterJsonBeanFactory里边自定义实体类的后缀,默认是entity 复制json到粘贴板,右键自己要存放实体的目录,可以看到JsonToDartBeanAction Class Name是实体名字,会默认加上…...
系统中出现大量不可中断进程和僵尸进程(理论)
一 进程状态 当 iowait 升高时,进程很可能因为得不到硬件的响应,而长时间处于不可中断状态。从 ps 或者 top 命令的输出中,你可以发现它们都处于 D 状态,也就是不可中断状态(Uninterruptible Sleep)。 R …...
L1-012 计算指数(Python实现) 测试点全过
前言: {\color{Blue}前言:} 前言:本系列题使用的是“PTA中的团体程序设计天梯赛——练习集”的题库,难度有L1、L2、L3三个等级,分别对应团体程序设计天梯赛的三个难度,如有需要可以直接查看对应专栏。发布个…...
String、StringBuffer、StringBuilder的区别
String、StringBuffer、StringBuilder的区别 String的内容不可修改,StringBuffer与StringBuilder的内容可以修改.StringBuffer与StringBuilder(更快)大部分功能是相似的StringBuffer采用同步处理,属于线程安全操作;而S…...
.net基础概念
1. .NET Framework .NET Framework开发平台包含公共语言运行库(CLR)和基类库(BCL),前者负载管理代码的执行,后者提供了丰富的类库来构建应用程序。.NET Framework仅支持Windows平台 2. Mono 由于.NET Framework支支持windows环境,因此社区…...
电缆工厂 3D 可视化管控系统 | 智慧工厂
近年来,我国各类器材制造业已经开始向数字化生产转型,使得生产流程变得更加精准高效。通过应用智能设备、物联网和大数据分析等技术,企业可以更好地监控生产线上的运行和质量情况,及时发现和解决问题,从而提高生产效率…...
bazel高效使用和调优
Bazel 为了正确性和高性能,做了很多优秀的设计,那么我们如何正确的使用这些能力,让我们的构建性能“起飞”呢, 我们将从本地研发和 CI pipeline 两种场景进行分析。 本地研发 本地研发通常采用默认的 Bazel 配置即可,…...
【实训项目】传道学习助手APP设计
1.设计摘要 跨入21世纪以来,伴随着时代的飞速发展,国民对教育的重视度也有了进一步的提升。我们不难发现虽然很多学习内容有学习资料或者答案,但是这些内容并不能达到让所有求学的人对所需知识进行完全地理解与掌握。所以我们需要进行提问与求助。那么一…...
短信验证码服务
使用的是 阿里云 阿里云官网 1.找到 左上角侧边栏 -云通信 -短信服务 2.在快速学习测试处 ,按照步骤完成快速学习,绑定要测试的手机号,选专用 【测试模板】,自定义模板需要人工审核,要一个工作日 3.右上角 获取 Acces…...
windows如何更改/禁用系统更新
提示:首先说明这属于将更新时间更改,不过你可以的将更新时间更改为十年一百年 废话不多说开始正文: 1.首先:winR打开运行,输入regedit,进入注册表编辑器 2.进入编辑器后依次点击:HKEY_LOCAL_MACHINE\SOFT…...
Clion 使用ffmpeg 学习1 开发环境配置
Clion 使用ffmpeg 学习1 开发环境配置 一、准备工作1. 准备环境2. 下载FFmpeg 二、操作步骤1. Clion 新建一个C项目2. 修改 CMakeLists.txt3. 修改配置4. 运行测试5. 打印rtsp 流信息的 demo 一、准备工作 在视频处理和多媒体应用程序开发中,FFmpeg 是一个强大的开…...
浏览器连不上 Flink WebUI 8081 端口
安装 flink-1.17.0 后,start-cluster.sh 启动,发现浏览器连不上 Flink WebUI 的8081端口。 问题排查: command R,输入cmd,检查宿主机能否ping通虚拟机,发现能ping通。 检查是否有flink以外的任务占用8081…...
Doris集群安装部署(1.2.4.1 release)
此文阅读需要有Linux和服务器硬件基础!某些内容写的不是特别细,如果常见的linux基础命令tar、uzip、mv、mkdir、系统包的安装等等,以文字带过了,这样可以减少文章篇幅。官方的安装部署方式一定要好好看一下,最好是尝试…...
对HashMap的value做升序、降序
public class MapUtils {// Map的value值降序排序public static <K, V extends Comparable<? super V>> Map<K, V> sortDescend(Map<K, V> map) {List<Map.Entry<K, V>> list new ArrayList<>(map.entrySet());list.sort((o1, o2)…...
算法面试-深度学习基础面试题整理-AIGC相关(2023.9.01开始,持续更新...)
1、stable diffusion和GAN哪个好?为什么 ? Stable diffusion是一种基于随机微分方程的生成方法,它通过逐步增加噪声来扰动原始图像,直到完全随机化。然后,它通过逐步减少噪声来恢复图像,同时使用一个神经网…...
Python、PHP和Java下的反序列化漏洞复现实例
环境准备 这篇文章旨在用于网络安全学习,请勿进行任何非法行为,否则后果自负。 python反序列化 p83 CTF夺旗 Python考点SST&反序列化&字符串_正经人_____的博客-CSDN博客 php反序列化 p84 CTF夺旗-PHP弱类型&异或取反&序列化&…...
html的使用
一,HBuilder –1,使用 直接解压就可以用, 创建项目: 直接点击 新建项目,输入项目名和选中项目存放位置,创建. 创建资源: 选中项目,右键,新建… 二,HTML –1,概述 是超文本标记语言,专门用来制作网页的. 超文本: 网页中可以包含各种类型的元素.包括: 文字,数字,符号,图片,音频,…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
