在 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,概述 是超文本标记语言,专门用来制作网页的. 超文本: 网页中可以包含各种类型的元素.包括: 文字,数字,符号,图片,音频,…...
SDMatte模型推理参数详解:平衡速度与精度的调优手册
SDMatte模型推理参数详解:平衡速度与精度的调优手册 1. 前言:为什么需要参数调优 第一次用SDMatte抠图时,你可能遇到过这种情况:明明模型效果很好,但要么等半天才出结果,要么生成边缘毛毛糙糙。这往往是因…...
虚幻引擎PicoVR开发避坑指南:PicoXR与PicoOpenXR插件选型与实战解析
1. PicoXR与PicoOpenXR插件核心差异解析 第一次接触PicoVR开发时,很多开发者都会被两个相似的插件名称搞懵——PicoXR和PicoOpenXR。这两个插件虽然名字相近,但在功能特性和适用场景上存在本质区别。我在去年开发健身类VR应用时就因为选错插件࿰…...
__attribute__((unused))的妙用:如何优雅地处理未使用的变量与参数
1. 为什么我们需要__attribute__((unused)) 在C/C开发中,编译器警告就像一位严格的代码审查员,时刻提醒我们可能存在的问题。但有时候,我们确实需要定义一些暂时不使用的变量或参数,比如为了保持接口兼容性,或者在某些…...
OpenGOAL编译器实战指南:如何构建你自己的Jak游戏
OpenGOAL编译器实战指南:如何构建你自己的Jak游戏 【免费下载链接】jak-project Reviving the language that brought us the Jak & Daxter Series 项目地址: https://gitcode.com/gh_mirrors/ja/jak-project OpenGOAL编译器是一个强大的工具,…...
UE5 GAS调试技巧:巧用ASC的‘Attribute Test’面板,5分钟搞定角色属性配置与验证
UE5 GAS高效调试指南:利用Attribute Test面板快速验证角色属性配置 在虚幻引擎5的游戏开发中,Gameplay Ability System (GAS)作为构建复杂角色能力与属性的核心框架,其调试效率直接影响着RPG类项目的开发进度。本文将深入探讨如何利用Ability…...
轻量级免安装跨设备:浏览器插件如何重塑微信使用体验
轻量级免安装跨设备:浏览器插件如何重塑微信使用体验 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 在数字化办公日益普及的今天…...
隐私计算新选择:OpenClaw+nanobot本地化数据处理
隐私计算新选择:OpenClawnanobot本地化数据处理 1. 为什么我们需要本地化数据处理方案 作为一名长期关注数据隐私的技术从业者,我最近在探索如何在不牺牲便利性的前提下,确保敏感数据处理的绝对安全。金融行业的朋友经常向我抱怨࿱…...
LeetCode知识点总结 - 524
LeetCode 524. Longest Word in Dictionary through Deleting考点难度ArrayMedium题目 Given a string s and a string array dictionary, return the longest string in the dictionary that can be formed by deleting some of the given string characters. If there is mor…...
告别误报!用FR2V H00磁通门传感器搞定充电桩直流漏电检测(附IEC 62955标准解读)
破解充电桩直流漏电检测难题:FR2V H00磁通门传感器的工程实践 800V高压快充技术正在重塑电动汽车充电体验,但随之而来的直流漏电检测难题却让不少工程师夜不能寐。想象一下,一个价值百万的充电桩因为误报停机,或者更糟——漏报导致…...
Rufus高效启动盘制作实战攻略:30分钟从入门到精通
Rufus高效启动盘制作实战攻略:30分钟从入门到精通 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus 系统重装难题如何高效解决? 当你的电脑遭遇系统崩溃、病毒入侵或需要全…...
