如何在 CentOS 8 上安装 Python 3.8

2023-11-17

Python 是世界上使用最广泛的编程语言之一。凭借其简单易学的语法,Python 成为初学者和经验丰富的开发人员的热门选择。 Python 是一种非常通用的编程语言。它可用于构建各种应用程序,从简单的脚本到复杂的机器学习算法。

CentOS 8 包括Python 版本 3.6,可以使用以下命令安装或更新dnf tool.

在撰写本文时,Python 3.8 是 Python 语言的最新主要版本。它包括许多新功能,例如赋值表达式、仅限位置参数、f 字符串支持以及more。 Python 3.8 在标准 CentOS 8 存储库中不可用。

本指南解释了如何从源代码在 CentOS 8 上构建 Python 3.8。我们还将向您展示如何创建虚拟环境。

在 CentOS 8 上安装 Python 3.8#

从源代码编译 Python 需要 C/C++ 编译器和其他开发包。首先要做的是在 CentOS 8 上安装从源代码构建 Python 所需的软件包。为此,请以 root 身份运行以下命令或须藤用户 :

sudo dnf groupinstall 'development tools'
sudo dnf install bzip2-devel expat-devel gdbm-devel \    ncurses-devel openssl-devel readline-devel wget \    sqlite-devel tk-devel xz-devel zlib-devel libffi-devel

从以下位置下载最新版本的源代码Python下载页面 using wget。目前,最新的Python 3.8版本是3.8.1。如果有新版本可供下载,请更改VERSION以下命令中的变量:

VERSION=3.8.1wget https://www.python.org/ftp/python/${VERSION}/Python-${VERSION}.tgz

下载完成后,提取 gzip 压缩的存档 :

tar -xf Python-${VERSION}.tgz

切换到Python源目录并运行configure执行多项检查以确保系统上的所有依赖项都存在的脚本:

cd Python-${VERSION}./configure --enable-optimizations

The --enable-optimizations选项通过运行多个测试来优化 Python 二进制文件。这使得构建过程变慢。

通过运行以下命令启动 Python 3.8 构建过程:

make -j 4

修改-j与处理器中的核心数量相对应。您可以通过键入来查找该号码nproc.

构建过程完成后,安装 Python 二进制文件:

sudo make altinstall

请不要使用该标准make install因为它会覆盖默认的系统 python 二进制文件。

就是这样。您的CentOS系统上已经安装了Python 3.8,您可以开始使用它。通过键入以下内容进行验证:

python3.8 --version

输出应显示 Python 版本:

Python 3.8.1

创建虚拟环境#

Python 虚拟环境是一个独立的目录树,其中包括 Python 安装和许多附加包。它允许您在特定项目的隔离位置安装 Python 模块,而不是全局安装。这样,你就不必担心影响其他Python项目。

在此示例中,我们将创建一个名为的新 Python 3.8 项目my_app在用户主目录内。

首先,创建项目目录并switch to it:

mkdir ~/my_app && cd ~/my_app

从项目根目录中运行以下命令来创建名为的虚拟环境my_app_venv:

python3.8 -m venv my_app_venv

激活环境:

source my_app_venv/bin/activate

激活后,shell 提示符将以环境名称为前缀。从Python 3.4开始,创建虚拟环境时pip,包管理器默认情况下安装了Python。

在虚拟环境中,您可以使用pip代替pip3.8 and python代替python3.8:

python -v
Python 3.8.1

完成停用环境的工作后,输入deactivate然后您将返回到正常的外壳。

deactivate

结论#

我们向您展示了如何在 CentOS 8 计算机上安装 Python 3.8 以及如何创建虚拟环境。您现在可以开始开发您的 Python 3 项目。

如果您有任何问题或反馈,请随时在下面发表评论。

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

如何在 CentOS 8 上安装 Python 3.8 的相关文章

  • Python RAD(桌面部署)[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果这个问题回答了这么多次 请原谅我
  • 不能在jinja2宏中使用current_user?

    我使用 Flask Login 它提供了current user模板中的对象 我想编写一个宏来显示评论表单或登录链接 具体取决于用户是否登录 如果我直接在模板中使用此代码 它会起作用 if current user is authentic
  • 代码 zip( *sorted( zip(units, error) ) ) 的作用是什么?

    对于我的申请units and errors始终是数值列表 我尝试用谷歌搜索每个部分的作用 并找出了 zip 的第一部分 它似乎 ziped list zip units errors 只需将单位和误差配对即可生成一个列表 如下所示 uni
  • 预处理 csv 文件以与 tflearn 一起使用

    我的问题是关于在将 csv 文件输入神经网络之前对其进行预处理 我想使用 python 3 中的 tflearn 为著名的 iris 数据集构建一个深度神经网络 数据集 http archive ics uci edu ml machine
  • 在 PyCharm 中运行命令行命令

    你好 我正在使用Python 但之前从未真正使用过它 我收到一些命令 需要在终端中运行 基本上 python Test py GET feeds 我正在使用 PyCharm 我想知道是否有办法从该 IDE 中运行这些相同的命令 按 Alt
  • Python:动态向对象添加字段

    我想知道是否可以动态向对象添加字段 例如 我希望能够添加如下内容 user object user first name John user last name Smith 当我在 Python 命令行解释器中执行该命令时 我得到 Attr
  • PyCharm 输出错误消息散布在控制台输出中。如何解决这个问题?

    我正在运行 PyCharm 社区版 4 0 4 有谁知道为什么控制台输出后不显示错误消息 Thanks C Python27 python exe F Google Drive code python scripts leetcode lc
  • Pandas:向量化局部范围操作([i:i+2] 行的最大值和总和)

    我希望在数据帧中的每一行的局部范围内进行计算 同时避免速度缓慢for环形 例如 对于下面数据中的每一行 我想找到未来 3 天内 包括当天 的最高气温以及未来 3 天内的总降雨量 Day Temperature Rain 0 30 4 1 3
  • 将 Python 控制台集成到 GUI C++ 应用程序中

    I m going to add a python console widget into a C GUI below some other controls 许多类将暴露给 python 代码 包括一些对 GUI 的访问 也许我会考虑 P
  • 计算二维笛卡尔坐标中不规则形状的边界

    我正在寻找一种计算不规则形状边界的解决方案 Lats take a look at Square example 如果我有Minimum x and y and Maximum x and y like MaxX 5 MinX 1 MaxY
  • python 和 android 中通过 AES 算法加密和解密

    我有用于 AES 加密的 python 和 android 代码 当我在android中加密文本时 它在python上成功解密 但无法在android端解密 有人有想法吗 Python代码 import base64 import hash
  • 如何在 scikit-learn 的 SVM 中使用非整数字符串标签? Python

    Scikit learn 具有相当用户友好的用于机器学习的 python 模块 我正在尝试训练用于自然语言处理 NLP 的 SVM 标记器 其中我的标签和输入数据是单词和注释 例如 词性标记 而不是使用双精度 整数数据作为输入元组 1 2
  • 使用 Matplotlib、PyQt 和 Threading 进行实时绘图导致 python 崩溃

    我一直在努力研究我的 Python 应用程序 但找不到任何答案 我有 PyQT GUI 应用程序 它使用 Matplotlib 小部件 GUI 启动一个新线程来处理 mpl 小部件的绘图 恐怕我现在通过从另一个线程访问 matplotlib
  • 如何在 Python 中包含 PHP 脚本?

    我有一个 PHP 脚本 news generator php 当我包含它时 它会抓取一堆新闻项并打印它们 现在 我在我的网站 CGI 中使用 Python 当我使用 PHP 时 我在 新闻 页面上使用了这样的内容 为了简单起见 我删掉了这个
  • 找到图像特征宽度的正确方法和Python包

    输入是一个在黑色背景上带有彩色 抱歉 垂直线的光谱 给定该带的近似 x 坐标 用 X 标记 我想找到该带的宽度 我对图像处理不熟悉 请引导我前往正确的方法图像处理和Python图像处理package也能起到同样的作用 我认为 PIL Ope
  • Flask APScheduler + Gunicorn 工作人员 - 在套接字修复后仍在运行任务两次

    我有一个 Flask 应用程序 我使用 Flask APScheduler 在我的数据库上运行计划查询并通过 cron 作业发送电子邮件 我通过 Gunicorn 使用以下配置运行我的应用程序并通过主管进行控制 program myapp
  • 在 Mac (Catalina) 上安装 PyGame 时出错 [重复]

    这个问题在这里已经有答案了 我一直在尝试将 PyGame 安装到 Catalina 上的 Mac 上 但不知道如何安装 我收到的错误消息是 SystemExit error command gcc failed with exit stat
  • 磁盘寻道时间测量方法

    我编写了一个脚本来测量 HDD 上的寻道时间 并且其完成方式的微小变化会导致显着不同的时间 第一个周期在磁盘开头的区域内进行跳转 第二个周期选择磁盘上执行查找的随机区域 相同大小 这种方法显然不同 但我不明白为什么它会改变结果 请注意 对于
  • 为什么 Python exec 中的模块级变量无法访问?

    我正在尝试使用Pythonexec in a project https github com arjungmenon pypage执行嵌入的Python代码 我遇到的问题是在模块级 in an exec声明是难以接近的来自同一模块中定义的
  • 透视包含字符串的 Pandas Dataframe - “没有要聚合的数字类型”错误

    关于此错误有很多问题 但环顾四周后 我仍然无法找到 解决解决方案 我正在尝试用字符串旋转数据框 以使一些行数据变成列 但到目前为止还没有成功 我的 df 的形状

随机推荐

  • 什么是高可用性集群:基本介绍

    A 高可用集群是一种计算系统 旨在确保关键服务和应用程序在停机时间最短的情况下仍可供用户使用 它由多个服务器或节点组成 这些服务器或节点被配置为协同工作以提供单个统一的服务或应用程序 如果一个节点发生故障 其他节点将接管以确保服务或应用程序
  • 最大限度地发挥 ChatGPT 在教育领域的潜力

    人工智能 AI 技术具有彻底改变教育的潜力 ChatGPT 是由 AI 开发的语言模型OpenAI 就是这样一种工具 可以用来改变学生的学习方式 ChatGPT 可以为学生提供个性化的学习体验 提供按需支持 并促进与教师和同学的沟通与协作
  • Bash 案例声明

    狂欢case当您有多个不同的选择时 语句通常用于简化复杂的条件 使用case语句而不是嵌套if语句将帮助您使 bash 脚本更具可读性且更易于维护 狂欢case语句与Javascript或C有类似的概念switch陈述 主要区别在于 与 C
  • 如何在 CentOS 7 上设置或更改时区

    在 CentOS 上 系统的时区是在安装过程中设置的 但以后可以轻松更改 使用正确的时区对于许多与系统相关的任务和流程都很重要 例如 cron 守护进程使用系统的时区来执行 cron 作业 并且日志文件中的时间戳基于同一系统的时区 本教程介
  • 基本 Linux 命令

    来自 Windows 世界的新 Linux 转换者可能会发现使用命令行有点令人生畏 然而 使用起来并不困难 开始使用命令行所需要做的就是学习一些基本命令 虽然大多数 Linux 发行版都是用户友好的并且具有易于使用的图形界面 但了解如何使用
  • 如何在 Ubuntu 中启用和禁用 root 用户帐户

    作为一个新的 Ubuntu 用户 您可能想知道如何以 root 用户身份登录 Ubuntu 系统或者默认的 root 密码是什么 在 Ubuntu Linux 中 出于安全原因 默认情况下禁用 root 用户帐户 本教程介绍如何在 Ubun
  • Linux ip 命令及示例

    The ip命令是任何 Linux 系统管理员都应该知道的用于配置网络接口的强大工具 它用于启动或关闭接口 分配和删除地址和路由 管理 ARP 缓存等等 本文通过实际示例和最常见选项的详细解释来解释如何使用 ip 命令 如何使用 ip 命令
  • 如何在 Debian 9 上添加和删除用户

    Debian 以及所有其他 Linux 发行版都是一个多用户操作系统 每个用户可以对各种命令行和 GUI 应用程序拥有不同的权限级别和特定设置 了解如何添加和删除用户是 Linux 用户应该了解的基本技能之一 本教程介绍如何在 Debian
  • 如何在 Debian 上创建 Sudo 用户

    The 须藤命令 Super user do 的缩写 是一个程序 旨在允许用户以另一个用户 默认为 root 用户 的安全权限执行命令 在本指南中 我们将向您展示如何在 Debian 系统上创建新用户并为其授予 sudo 访问权限 您可以使
  • 如何设置 Git 服务器

    当谈到 Git 托管时 您有多种选择 GitHub Gitlab 和 Bitbucket 是流行的解决方案 但运行自己的 Git 服务器是值得考虑的替代方案 设置 Git 服务器允许您创建私人存储库 而不受提供商免费计划的限制 在本指南中
  • 如何在 Debian 9 上安装 MySQL

    随着 Debian 9 Stretch MySQL 的发布 Debian 存储库中不再提供世界上最流行的开源关系数据库管理系统 MariaDB 已成为默认数据库系统 MariaDB 是 MySQL 的向后兼容 二进制直接替代品 在本教程中
  • 如何在 CentOS 8 上安装 TensorFlow

    TensorFlow是谷歌打造的一个开源机器学习平台 它可以在不同设备上的 CPU 或 GPU 上运行 并被许多组织使用 包括 Twitter PayPal 英特尔 联想和空客 TensorFlow 可以安装在系统范围内 Python 虚拟
  • 在 CentOS 7 上安装 PHP 7

    CentOS 7 附带 PHP 版本 5 4 该版本已正式 EOL 相当长一段时间 不再受支持 通过使用 PHP 7 您的应用程序将加载更快并消耗更少的系统资源 在本教程中 我们将解释如何安装或升级到 PHP 7 0 CentOS 7 系统
  • 如何在 Linux 中移动文件和目录(mv 命令)

    移动文件和目录是您经常需要在 Linux 系统上执行的最基本任务之一 在本教程中 我们将解释如何使用mv移动文件和目录的命令 如何使用mv命令 The mv命令 move 的缩写 用于将文件和目录从一个位置重命名和移动到另一个位置 语法为m
  • 如何在 CentOS 8 上安装 Xrdp 服务器(远程桌面)

    Xrdp 是 Microsoft 远程桌面协议 RDP 的开源实现 允许您以图形方式控制远程系统 使用 RDP 您可以登录到远程计算机并创建真实的桌面会话 就像登录到本地计算机一样 本教程介绍如何在 CentOS 8 上安装和配置 Xrdp
  • 如何在 Ubuntu 18.04 上安装 Flask

    Flask 是一个免费 开源的 Python 微型 Web 框架 旨在帮助开发人员构建安全 可扩展和可维护的 Web 应用程序 烧瓶是基于Werkzeug和用途Jinja2作为模板引擎 Unlike Django 默认情况下 Flask 不
  • Linux 中的 Whoami 命令

    在本文中 我们将介绍whoami命令 顾名思义 whoami命令打印有效用户 ID 的用户名 换句话说 它显示当前登录用户的名称 如何使用whoami命令 语法为whoami命令如下 whoami OPTION 要显示当前登录用户的名称 请
  • 如何在 CentOS 8 上安装和配置 Redmine

    Redmine 是一款免费的开源项目管理和问题跟踪应用程序 它是跨平台和跨数据库的 构建在 Ruby on Rails 框架之上 Redmine包括对多个项目 wiki 问题跟踪系统 论坛 日历 电子邮件通知等的支持 本教程介绍如何在 Ce
  • Linux 中的 Stat 命令

    stat是一个命令行实用程序 显示有关给定文件或文件系统的详细信息 本文介绍了如何使用stat命令 使用stat命令 语法为stat命令如下 stat OPTION FILE stat接受一个或多个输入FILE名称并包含许多控制命令行为和输
  • 如何在 CentOS 8 上安装 Python 3.8

    Python 是世界上使用最广泛的编程语言之一 凭借其简单易学的语法 Python 成为初学者和经验丰富的开发人员的热门选择 Python 是一种非常通用的编程语言 它可用于构建各种应用程序 从简单的脚本到复杂的机器学习算法 CentOS