CentOS 8包含Python 3.6版本,可以使用dnf工具安装或更新。

在撰写本文时,Python 3.8是Python语言的最新主要版本。它包括许多新特性,如赋值表达式、仅定位的参数、f-string支持等等。Python 3.8在标准的CentOS 8存储库中不可用。

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

在CentOS 8上安装Python 3.8

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

[root@iZwz9g27qld9va1076x1rrZ ~]#dnf groupinstall 'development tools'[root@iZwz9g27qld9va1076x1rrZ~]#dnf install bzip2-devel expat-devel gdbm-devel \

ncurses-devel openssl-devel readline-devel \

sqlite-devel tk-devel xz-devel zlib-devel wget

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

[root@iZwz9g27qld9va1076x1rrZ ~]#VERSION=3.8.1

[root@iZwz9g27qld9va1076x1rrZ ~]#wget https://www.python.org/ftp/python/${VERSION}/Python-${VERSION}.tgz

下载完成后,解压缩刚下载的文件:

[root@iZwz9g27qld9va1076x1rrZ ~]#tar -xf Python-${VERSION}.tgz

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

[root@iZwz9g27qld9va1076x1rrZ ~]#cd Python-${VERSION}

[root@iZwz9g27qld9va1076x1rrZ Python-3.8.1]# ./configure --enable-optimizations

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

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

[root@iZwz9g27qld9va1076x1rrZ Python-3.8.1]# make -j 4

修改-j以对应于处理器中的内核数。 您可以通过键入nproc查找编号。

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

[root@iZwz9g27qld9va1076x1rrZ Python-3.8.1]# sudo make altinstall

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

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

[root@iZwz9g27qld9va1076x1rrZ ~]# python3.8

--version Python 3.8.1

[root@iZwz9g27qld9va1076x1rrZ ~]# python3

Python 3.6.8 (default, Nov 21 2019, 19:31:34) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux Type "help", "copyright", "credits" or "license" for more information.

输出应显示Python版本

创建虚拟环境

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

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

首先,创建项目目录并切换到该目录:

[linuxidc@localhost ~/www.linuxidc.com]$mkdir ~/linuxidc_app && cd ~/linuxidc_app

在项目根目录内部,运行以下命令以创建一个名为linuxidc_app_venv的虚拟环境:

[linuxidc@localhost ~/linuxidc_app]$python3.8 -m venv linuxidc_app_venv

激活环境:

[linuxidc@localhost ~/linuxidc_app]$source linuxidc_app_venv/bin/activate

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

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

(linuxidc_app_venv) [linuxidc@localhost ~/linuxidc_app]$python -V Python 3.8.1

完成停用环境的工作后,键入deactivate,您将返回到常规shell。

(linuxidc_app_venv) [linuxidc@localhost ~/linuxidc_app]$deactivate

转载于:https://www.linuxidc.com/Linux/2020-02/162296.htm

centos安装python3.8.1_在CentOS 8上编译安装Python 3.8.1相关推荐

  1. 树莓派安装python3.8_在树莓派(Raspberry Pi)上编译安装更新版本的Python

    Raspiban Wheezy上预装的Python3版本是3.2.3,本文将介绍升级到3.4.3的方法. 此文也适用于安装其它版本(比如最新版本)的Python,只要下载时选择特定版本可以了. 我用的 ...

  2. mysql编译安装指定端口_在CentOS7系统上编译安装MySQL 5.7.13步骤详解

    MySQL 5.7主要特性 1.更好的性能 对于多核CPU.固态硬盘.锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是用户更关心的. 2.更好的Inn ...

  3. centos llvm安装_在CentOS上编译安装llvm-3.8.1详细教程

    在CentOS上编译安装llvm-3.8.1详细教程 2020/1/11  18:12 1682次 注:CentOS版本是6.8,6.x版本的操作类似 安装需求: [list] [*]Cmake: 3 ...

  4. CentOS 7上编译安装PHP 8.1及Nginx 配置支持PHP

    CentOS 7上编译安装PHP 8.1/及Nginx 配置支持PHP 编译安装 Php[端口:9000] 安装编译环境依赖包 yum -y install gcc gcc-c++ glibc aut ...

  5. 在 CentOS 8 上编译安装 ISC-DHCP-Server

    这篇文章是又一位专业水平非常顶的朋友那里转的,有感兴趣的朋友可以去关注一下 https://www.ddupan.top 在 CentOS 8 上编译安装 ISC-DHCP-Server 应要求,我需 ...

  6. 在PK体系下的CentOS上编译安装 MySQL 5.7

    本文主要介绍如何在 PK 体系下的 CentOS 上编译安装 MySQL 5.7,本文使用的操作系统环境为: CentOS 版本: # cat /etc/redhat-release CentOS L ...

  7. linux gnuplot yum源,在CentOS上编译安装gnuplot绘图工具

    gnuplot是一个命令行的交互式绘图工具.用户通过输入命令,可以逐步设置或修改绘图环境,并以图形描述数据或函数,使我们可以借由图形做更进一步的分析. gnuplot是由Colin Kelly和Tho ...

  8. 安装python3.6.1_如何安装python3.6.1/

    如何在win7下安装Python及配置 1.首先,从搜索python官载适合自己电脑python版本. 2标右击桌面"计算机"择打开菜单栏中的性". 3.WindowsX ...

  9. 树莓派指定python2编译_在树莓派上编译安装ROS2

    最新编译方式已经修改,请参考官网最新文档: ------------------------------------下文已经过时 仅供参考------------------------------- ...

最新文章

  1. echarts相关设置
  2. Taro -- 微信小程序登录
  3. winrar远程代码执行漏洞复现(cve-2018-20250)
  4. 去除字符串中重复字符
  5. Codeforces 336C 0-1背包
  6. 解决Uncaught SyntaxError: Unexpected token var报错问题
  7. linux 开机启动文件夹,Linux开机启动流程
  8. Linux的ps aux/ps -ef:风格不同
  9. [js] 解释下深度优先遍历和广度优先遍历的区别及如何实现
  10. Linux下编译安装openssl
  11. springboot listener_Springboot 全套面试提升宝典,为金三银四冲刺
  12. IDEA中新建项目Static Web 中没有vue.js
  13. Microsoft Office (2007) Open XML 文件格式
  14. 【论文笔记】Face Alignment at 3000 FPS via Regressing Local Binary Features
  15. #深度解析# GAN(生成对抗神经网络)
  16. 吃货在东京 -- 记那段吃不饱的日子 之四 台场的日本拉面
  17. python os创建txt文件_Python新建动态命名txt文件
  18. Python作业:公鸡5元/只,母鸡3元/只,小鸡1元3只。问100元怎么买到100只。
  19. Proximity模块管理设备距离传感器,可获取当前设备的接近距离信息,通过plus.proximity可获取设备距离传感管理对象
  20. 用计算机做路由器,用笔记本做无线路由(笔记本电脑当无线路由器用怎么设置)...

热门文章

  1. 全世android手机,全世界最安全手机:黑莓第二款Android手机DTEK 50
  2. Raki的读paper小记:OFA: UNIFYING ARCHITECTURES, TASKS, AND MODALITIES THROUGH A SIMPLE Seq2Seq FRAMEWORK
  3. ACM题目和培养训练!!!
  4. 数理统计 - 圆环上随机取3个点组成一个锐角三角形的概率
  5. 网易被裁后,68天吃透这份阿里学长甩我的Android面试笔记,竟让我收到字节跳动和小米offer
  6. 配置win10系统服务器失败怎么解决,windows10系统重置失败如何解决
  7. VCS(DVE)调试
  8. Unity SKFramework框架(二十四)、Avatar Controller 第三人称控制
  9. 绕过滑块验证码登陆网站的实现
  10. markdown 表情包大法