在 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,概述 是超文本标记语言,专门用来制作网页的. 超文本: 网页中可以包含各种类型的元素.包括: 文字,数字,符号,图片,音频,…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...
