如何在 CentOS/RHEL 8 上安装 Python 3.9

2023-11-19

Python 是一种功能强大且广泛使用的编程语言,以其简单性、可读性和跨 Web 开发、数据科学和机器学习等各个领域的多功能性而闻名。随着 Python 3.9 的发布,开发人员可以从众多增强、优化和新功能中受益。

在本教程中,我们将指导您完成使用源存档文件在 CentOS/RHEL 8 操作系统上安装 Python 3.9 的过程。这种安装方法提供了更好的控制和自定义,确保您的系统上安装了最新版本的 Python。

先决条件

此 Python 安装需要您的系统上有 GCC 编译器。使用 ssh 或 shell 访问登录到您的服务器。现在,在安装之前使用以下命令安装 Python 的先决条件。

sudo dnf install wget yum-utils make gcc openssl-devel bzip2-devel libffi-devel zlib-devel 

第 1 步 – 下载 Python 3.9

访问官方下载网站https://www.python.org/ftp/python下载最新或所需版本的 Python。

命令行用户可以通过命令行下载Python 3.9:

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

然后,提取系统上的存档文件

tar xzf Python-3.9.16.tgz 

这将在当前目录中创建一个名为 Python-3.9.16 的目录,其中包含 Python 3.9 的所有源文件。

步骤 2 – 在 CentOS 8 上安装 Python

将目录更改为 Python-3.9.6。然后在编译之前使用所需的值准备源代码。

cd Python-3.9.16 
sudo ./configure --with-system-ffi --with-computed-gotos --enable-loadable-sqlite-extensions 

接下来,使用 make 编译源代码。这里nproc将提供系统上可用的 CPU 核心数。这样make就可以很好的执行。

sudo make -j ${nproc} 
sudo make altinstall 
make altinstall is used to prevent replacing the default python binary file /usr/bin/python.

现在,我们不需要下载的存档文件,因此将其删除以释放空间。

sudo rm Python-3.9.16.tgz 

第 3 步 – 测试 Python 版本

至此,您已经在CentOS/RHEL系统上成功安装了Python 3.9。现在,检查已安装的 Python 和 PIP 版本。

检查Python版本:

python3.9 -V  

Python 3.9.16

检查 PIP 版本:

pip3.9 -V  

pip 20.2.3 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)

步骤 4 – 创建虚拟环境

为每个 Python 应用程序创建一个单独的虚拟环境是一个好主意。它提供了一个隔离的环境,其中 Python 项目拥有自己的模块和一组依赖项。

要创建 Python 虚拟环境,请运行:

sudo /usr/local/bin/python3.9 -m venv /home/rahul/python-app/venv 

所有文件将在 /home/rahul/python-app/venv 目录下生成。您可以通过运行命令来激活环境:

source /home/rahul/python-app/venv/bin/activate 

在这里与世隔绝的环境中做你的事情。完成工作后,输入以下命令停用环境:

deactivate 

这将使您返回到主系统提示符。

结论

我们已经成功演示了使用源存档文件在 CentOS/RHEL 8 系统上安装 Python 3.9 的分步过程。此方法提供量身定制的安装体验,使您能够充分利用 Python 3.9 的性能改进和新功能。当您深入研究 Python 生态系统时,请花时间探索大量可用的库和框架,这将进一步增强您的编程技能并简化您的项目。在 CentOS/RHEL 8 系统上安装 Python 3.9 后,您现在已经做好了应对各种编程挑战并构建尖端应用程序的准备。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 CentOS/RHEL 8 上安装 Python 3.9 的相关文章

  • 无法在我的 Django 项目中使用 Sphinx 生成自动文档

    我正在向我的 Django 项目添加文档 github链接 https github com augustakingfoundation queryjane app 该项目是开源的 使用sphinx 但是当尝试生成python文件的auto
  • Keras ZeroDivisionError:整数除法或以零为模

    我正在尝试使用 Keras 和 Tensorflow 实现卷积神经网络 我有以下代码 from keras models import Sequential from keras layers import Conv2D MaxPoolin
  • 分配列表的多个值

    我很想知道是否有一种 Pythonic 方式将列表中的值分配给元素 为了更清楚 我要求这样的事情 myList 3 5 7 2 a b c d something myList So that a 3 b 5 c 7 d 2 我正在寻找比手
  • 为什么 pandas 在简单的数学运算上比 numpy 更快?

    最近 我观察到 pandas 的乘法速度更快 我在下面的例子中向您展示了这一点 如此简单的操作怎么可能做到这一点 这怎么可能呢 pandas 数据帧中的底层数据容器是 numpy 数组 测量 我使用形状为 10k 10k 的数组 数据框 i
  • 如何在 QTableView 标题中单击鼠标右键单击上下文菜单?

    下面的示例代码 很大程度上受到here http www saltycrane com blog 2007 12 pyqt 43 qtableview qabstracttablemodel 有一个右键单击上下文菜单 当用户单击表中的单元格
  • Python设置1和True的解释

    在 IPython 3 交互式 shell 中 In 53 set2 1 2 True hello In 54 len set2 Out 54 3 In 55 set2 Out 55 hello True 2 是因为 1 和 True 得到
  • 如何使用 python、openCV 计算图像中的行数

    我想数纸张 所以我正在考虑使用线条检测 我尝试过一些方法 例如Canny HoughLines and FLD 但我只得到处理过的照片 我不知道如何计算 有一些小线段就是我们想要的线 我用过len lines or len contours
  • 样本()和r样本()有什么区别?

    当我从 PyTorch 中的发行版中采样时 两者sample and rsample似乎给出了类似的结果 import torch seaborn as sns x torch distributions Normal torch tens
  • 无法在我的程序中使用 matplotlib 函数

    我正在 Windows 10 中运行 Anaconda 安装 conda 版本 4 3 8 这是我尝试在 python 命令行中运行的代码 import matplotlib pyplot as plt x 1 2 3 4 y 5 6 7
  • 同一台机器上有多个Python版本?

    Python 网站上是否有关于如何在 Linux 上的同一台计算机上安装和运行多个版本的 Python 的官方文档 我可以找到无数的博客文章和答案 但我想知道是否有 标准 官方方法可以做到这一点 或者这一切都取决于操作系统 我认为它是完全独
  • Python:“直接”调用方法是否实例化对象?

    我是 Python 新手 在对我的对象进行单元测试时 我注意到一些 奇怪 的东西 class Ape object def init self print ooook def say self s print s def main Ape
  • 使用 Windows 任务计划程序安排 [Virtualenv 相关] Python 脚本

    I want to schedule a python script to start at 3AM and break at 5PM every weekday However the problem arises when I need
  • 在 pygame 中,我如何创建一个数据结构来跟踪调整大小事件和对象的坐标?

    我希望在调整屏幕大小后使鼠标事件与对象保持同步 有人告诉我需要创建一个数据结构来跟踪 调整事件大小 新坐标以匹配调整大小 如何使用简单的代数方程来完成此操作并将其集成到调整大小事件中以进行准确更新 反过来做 创建一个虚拟游戏地图 在绘制场景
  • proc_open() 失败并显示“权限被拒绝”

    我正在尝试使用proc open 执行程序并打印结果 但是 我不断收到 许可被拒绝 的消息 已将脚本和可执行文件的 chmod 设置为 0777 但无济于事 ini get safe mode 是假的 可能出什么问题了 我正在使用 Cent
  • 将 Python Selenium 输出写入 Excel

    我编写了一个脚本来从在线网站上抓取产品信息 目标是将这些信息写入 Excel 文件 由于我的Python知识有限 我只知道如何在Powershell中使用Out file导出 但结果是每个产品的信息都打印在不同的行上 我希望每种产品都有一条
  • Python 或 C 语言中的 Matlab / Octave bwdist()

    有谁知道 Matlab Octave bwdist 函数的 Python 替代品 此函数返回给定矩阵的每个单元格到最近的非零单元格的欧几里得距离 我看到了一个 Octave C 实现 一个纯 Matlab 实现 我想知道是否有人必须用 AN
  • 如何在 Python 中跟踪日志文件?

    我想在 Python 中提供 tail F 或类似内容的输出 而无需阻塞或锁定 我找到了一些非常旧的代码来做到这一点here http code activestate com recipes 436477 filetailpy 但我认为现
  • 无法将matplotlib安装到pycharm

    我最近开始使用Python速成课程学习Python编程 我陷入困境 因为我无法让 matplotlib 在 pycharm 中工作 我已经安装了pip 我已经通过命令提示符使用 pip 安装了 matplotlib 现在 当我打开 pych
  • 通过新数据更新绘图,而不是在 Jupyter 笔记本中制作新绘图

    我有一些问题 希望你能帮我解决 我需要使用下拉小部件创建交互式绘图 我可以在其中选择并绘制感兴趣的数据 我通过以下方式做到这一点 import plotly graph objects as go import ipywidgets as
  • 使用 Numpy 进行多维批量图像卷积

    在图像处理和分类网络中 一个常见的任务是输入图像与一些固定滤波器的卷积或互相关 例如 在卷积神经网络 CNN 中 这是一种极其常见的操作 我已将通用版本任务减少为 Given 一批 N 个图像 N H W D 和一组 K 个滤镜 K H W

随机推荐

  • 空谱结合多标准的主动学习用于高光谱分类

    摘要 阶段1首先使用PCA降维 然后使用形态学的腐蚀膨胀方法获取一系列图像 阶段2引入了一种新的基于uncertainty diversity和聚类假设的query function 使用主动学习 介绍 降维解决了维度灾难的问题 解决样本数
  • MySQL存储引擎MyISAM和InnoDB

    1 MySQL的程序结构 2 数据库逻辑结构 1 库 属性 名称 2 表 字段 名称 属性 数据类型 约束 记录 完整的数据 3 关系 库 表 记录 记录 字段 3 物理结构 1 库 操作系统下的目录 2 表 多个文件组成 Myisam表
  • java与redis连接过程中遇到问题

    java与redis连接过程中遇到问题 文章目录 java与redis连接过程中遇到问题 前言 一 redis是什么 特征 二 命令 1 redis通用命令 String类型常见命令 Hash常用命令 List常见命令 Set常见命令 三
  • Vuejs(一):Vuejs模板语法

    Vuejs模板语法 一 vuejs介绍 二 修改webstorm为2个空格 三 插值操作 3 1 v once 3 2 v html 3 3 v pre 3 4 v cloak 四 绑定属性 v bind 4 1 v bind绑定class
  • 计算机提示由于找不到VCRUNTIME140.dll,无法继续执行代码,重新安装程序可能会解决

    vcruntime140 dll文件是一个动态链接库 是Windows操作系统中非常重要的一个动态链接库文件 用于支持使用Microsoft Visual C 编译器创建的应用程序的运行 当我们运行的软件是有C 编译器创建的程序 就需要到系
  • DHCP原理与配置+DHCP中继

    一 DHCP服务的简介 DHCP基于客户 服务器模式 当DHCP客户端启动时 它会自动与DHCP服务器通信 由DHCP服务器为DHCP客户端提供自动分配IP地址的服务 安装了DHCP服务软件的服务器称为DHCP服务器 而启用了DHCP功能的
  • 安装visual studio 2013【转】

    本文转载自 http blog csdn net tina ttl article details 51544733 1下载 visual studio ultimate 2013安装包 微软已经向MSDN订阅用户提供了Visual Stu
  • IDEA 通过svn 导入项目

    SVN 点击菜单 VCS gt Checkout from Version Controll gt Subversion
  • 嵌入式经典面试题

    文章目录 一 常见面试题 1 用预处理指令 define 声明一个常数 用以表明1年中有多少秒 忽略闰年问题 2 写一个 标准 宏MIN 这个宏输入两个参数并返回较小的一个 3 预处理器标识 error的目的是什么 4 数据声明 5 sta
  • 01 用栈实现队列(leecode 232)

    1 问题 请你仅使用两个栈实现先入先出队列 队列应当支持一般队列的支持的所有操作 push pop peek empty 实现 MyQueue 类 void push int x 将元素 x 推到队列的末尾 int pop 从队列的开头移除
  • Web_for_Pentester_I之XML attacks

    Web for Pentester是国外安全研究者开发的一款渗透测试平台 由PentesterLab出品 官方给自己的定义是一个简单又十分有效地学习渗透测试的演练平台 XML attacks通常都是通过使用XPATH来恢复XML文件的解析设
  • 搭建以图搜图检索系统

    引言 当您听到 以图搜图 时 是否首先想到了百度 Google 等搜索引擎的以图搜图功能呢 事实上 您完全可以搭建一个属于自己的以图搜图系统 自己建立图片库 自己选择一张图片到库中进行搜索 并得到与其相似的若干图片 Milvus 作为一款针
  • #import与#include、@class有什么区别?

    import与 include class有什么区别 import与 include都是用来引入头文件的 与 include相比 Objective C中 import的优势是不会重复引入头文件 相当于多了C C 中 pragma once
  • js中通过ajax调用网上接口

  • 华为云云耀云服务器L实例评测

    目录 华为云云耀云服务器L实例 一键搭建 WordPress 准备工作 购买云耀云服务器L实例 设置 Nginx 安全级别 运行nginx huaweicloud sh脚本 配置安全组 初始化WordPress 部署应用 强大的插件库 配置
  • C/C++中浮点数格式学习——以IEEE75432位单精度为例

    这是浮点数的通常表示形式 在IEEE754中 单精度浮点数有如下形式 32位单精度 单精度二进制小数 使用32个比特存储 1 8 23位长 S Exp Fraction 31 30至23偏正值 实际的指数大小 127 22至0位编号 从右边
  • 组件中的data为什么是一个函数而不是一个对象

    官方的解释为 通俗的讲就是 因为对象是一个引用数据类型 如果data是一个对象的情况下会造成所有组件共用一个data 而当data是一个函数的情况下 每次函数执行完毕后都会返回一个新的对象 这样的话每个组件都会维护一份独立的对象 data
  • Python中Tkinter 图形化界面设计(详细教程)

    Python Tkinter 图形化界面设计 详细教程 一 图形化界面设计的基本理解 二 窗体控件布局 2 1 根窗体呈现示例 2 2 tkinter 常用控件 2 2 1常用控件 2 2 2 控件的共同属性 2 3 控件布局 2 3 1
  • docker搭建文档管理服务器,Docker快速搭建LDAP服务器

    摘要 OpenLdap可以提供强大的集中账号管理和授权 但其强大的功能依赖多个插件的集成 为方便OpenLdap的编译和部署 我便制作了一个docker 镜像 并通过本文记录该镜像的使用方法 文档环境 本文档中代码的测试环境 OpenLda
  • 如何在 CentOS/RHEL 8 上安装 Python 3.9

    Python 是一种功能强大且广泛使用的编程语言 以其简单性 可读性和跨 Web 开发 数据科学和机器学习等各个领域的多功能性而闻名 随着 Python 3 9 的发布 开发人员可以从众多增强 优化和新功能中受益 在本教程中 我们将指导您完