Python酷玩之旅_如何在Centos8顺利安装Python最新版(3.12)

news2024/11/15 5:40:24

全文导览

    • 前言
    • Q:如何在Centos8顺利安装Python最新版
      • 一. 下载安装包
        • 1.1 wget
        • 1.2. 官网下载
      • 二. 执行安装
        • 2.1. 检查环境
        • 2.2. 安装依赖
        • 2.3. 解压tgz包
        • 2.4. 编译
        • 2.5. 安装
        • 2.6. 设置环境变量
          • 2.6.1 编辑/etc/profile
          • 2.6.2 激活生效
      • 三. 操作示例
        • 3.1. helloworld
    • 结语

前言

博主准备在Centos8部署一套Python环境,历经千辛万苦,终于成功了。在安装过程中遇到的“坑”也是各种各样,现做一记录,分享各位,避免浪费时间。
在这里插入图片描述

Q:如何在Centos8顺利安装Python最新版

博主以3.12版本为例,进行步骤分解,请紧随,防迷路。

一. 下载安装包

下载安装包有两种方式,一种通过wget完成,另一种通过官网下载tar包。两种方式可通过以下步骤完成:

1.1 wget

选择一个目录,执行wget :

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

过程如下:
在这里插入图片描述
下载完成后,会在当前运行目录下,生成一个tgz文件: Python-3.12.1.tgz

1.2. 官网下载

打开官网下载地址,可以看到:

在这里插入图片描述

向下滑动,选择Files中的第一个文件,点击下载:

在这里插入图片描述
下载完成后,同样可得到一个文件:
在这里插入图片描述

由此看出,不管用哪种方式,殊途共归,自己选吧。

二. 执行安装

2.1. 检查环境

在安装前,先检查一下当前环境是否已安装(centos8默认已安装了python):
在这里插入图片描述
该环境不可用,但是不建议卸载,无视它即可。

2.2. 安装依赖

在正式安装python前,先安装它的依赖(非常重要,非常关键,不跑偏 ):

yum install -y gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel xz-devel libffi-devel
2.3. 解压tgz包

执行以下命令:

tar -zxvf Python-3.12.1.tgz

解压后得到一个文件夹:Python-3.12.1
在这里插入图片描述

2.4. 编译

cd Python-3.12.1,执行如下命令:

./configure --prefix=/usr/local/bin/python3.12 --enable-optimizations

其中的2个参数很重要,可以了解一下:

命令用途
–prefix指定编译后的安装路径
–enable-optimizations启用优化,对Python优化以提高性能
2.5. 安装

上一步正常完成后,开始安装,执行如下命令:

make && make install

画面最后可以看到一行Successfull,代表安装成功啦!

在这里插入图片描述
但是请注意WARNING,提示PATH没有环境变量。

2.6. 设置环境变量
2.6.1 编辑/etc/profile
vi /etc/profile

输入-i后,在文末加入:

# PYTHON_HOME与./configure指定的目录保持一致
PYTHON_HOME=/usr/local/bin/python3.12
export PATH=$PATH:$PYTHON_HOME/bin

ctrl+c后,输入:wq,退出编辑。

2.6.2 激活生效

通过source命令,激活变量,使之生效:

source /etc/profile

输入python3.12,即可看到当前的版本号,代表安装成功:
在这里插入图片描述

三. 操作示例

3.1. helloworld

安装完成后,我们做一个验证,写个hello world吧。输入python3.12,进入python console

在这里插入图片描述
至此,完成了Python环境的所有安装工作。


结语

本文重点介绍了Python最新版的安装过程,逐一分解,操作简便。在linux环境中,你可以安装需要的库,进行下一步的开发喽。

走过的、路过的盆友们,点点赞,收收藏,并加以指导,以备不时之需哈~


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2163521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DevOps学习路线图

DevOps 是软件工程领域中的一种文化和实践方法,它将开发 (Dev) 和运维 (Ops) 相结合,从而在应用程序规划、开发、交付和运营中统一人员、流程和技术。 DevOps 支持以前孤立角色(如开发、IT 运营、质量工程和安全)之间的协调和协作…

【Elasticsearch】-实现图片向量相似检索

1、http请求方式 如果elasticsearch服务设置账号密码,则在请求的header中添加 Basic Auth 认证 请求方式:Post 请求地址:/index_name/_search 请求body:json格式 {"size": 10, //返回条数"min_score": 0.…

【10000字pandas数据可视化超全笔记整理】Numpy Pandas | 常用API介绍 | 缺失值处理 matplotlib数据可视化介绍

文章目录 Numpy 部分NumPy的数组类被称作ndarray,通常被称作数组。属性创建方法内置函数运算基本运算矩阵运算 Pandas部分总述Serise 对象创建属性方法运算 DataFrame属性索引操作添加删除插入列 保存读取文件保存读取 数据加载分组聚合语法格式: 基本绘图 数据组合…

【设计模式-迭代】

定义 迭代器模式(Iterator Pattern)是一种行为型设计模式,用于提供一种顺序访问集合对象元素的方式,而不暴露该对象的内部表示。通过迭代器,客户端可以在不需要了解集合实现的细节的情况下遍历集合中的元素。 UML图 …

Hi.Events —— 您的全方位活动管理与票务平台

大家好!今天给大家介绍一个超厉害的开源项目:Hi.Events,这是一个功能丰富的自托管活动管理和票务平台,无论是会议还是俱乐部活动,它都能帮你轻松搞定! 项目介绍 Hi.Events是一款功能丰富、自托管的开源活动…

用AI绘画年入百万?揭秘高效起始号与现变路径...

part.1 AI绘画的优势 AI绘画的魅力在于其高效和灵活 无论你是通过Midjourney还是Stable Diffusion,只需输入简单的提示词,再加上一些额外的控制调整,AI绘画就能快速生成各种创意内容。角色IP设计、游戏原画、3D场景甚至是天马行空的创意都…

服务器桌面监控录制到NVR

目录 一、硬盘录像机配置 二、配置VLC Play 三、加入NVR通道 四、实时画面 五、历史画面录像 有一天,客户提出一个问题,有一台服务器被很多人使用,成了共用服务器。共用的东西有个特点,就是人人都用,人人都不管,都认为自己只是偶尔用一下,管理维护不是自己的责任。…

Error: one input ui-file must be specified(问题已解决)

一、 项目场景问题描述 Error: one input ui-file must be specified pycharm IDE添加了外部工具。 QT Designer设计完成,生成界面ui文件, 3.运行pyuic5转换文件 方式一:选中ui文件 方式二:右击选中.ui文件。 报错:Error: o…

【xhs截流软件】爬取小红书关键词笔记下的筛选评论

用python开发的xhs采集工具【爬小红书搜索评论软件】,可用于引流截流等。 支持2种模式的评论采集: 根据关键词采集评论,爬取思路:笔记关键词->笔记链接->评论根据笔记链接采集评论,爬取思路:笔记链接…

k8s中,pod生命周期,初始化容器,容器探针,事件处理函数,理解其设计思路及作用

k8s中,为什么要设计pod 平台直接管理容器不是挺好的吗 为什么要以pod为单位进行管理, 然后把容器放在pod里面 那么有pod和没pod的区别是什么 也就是pod提供了什么作用 这个可以考虑从pod生命周期管理的角度去思考 如图,pod主容器在运行…

DataX实战:从MongoDB到MySQL的数据迁移--修改源码并测试打包

在现代数据驱动的业务环境中,数据迁移和集成是常见的需求。DataX,作为阿里云开源的数据集成工具,提供了强大的数据同步能力,支持多种数据源和目标端。本文将介绍如何使用DataX将数据从MongoDB迁移到MySQL。 环境准备 安装MongoDB…

从0新建一个微信小程序实现一个简单跳转

首先 1.从这里下载开发工具 https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/getstart.htm 2. 等下载完毕后 创建一个空白项目 在pages目录下右键创建一个page : testUI,这时候会生成四个文件 新建一个文件夹 testUI 给他们放一起 3.增加一个按钮 …

实战OpenCV之图像滤波

基础入门 图像滤波是数字图像处理中一种非常重要的技术,主要用于图像噪声去除、图像平滑、突出图像特征,或者进行图像风格的转换。它通过数学运算对图像中的像素值进行修改,以达到特定的处理目的。图像滤波可以分为两大类,分别为&…

matlab划分区域的等高线云图(代码)

出图结果如下: 代码如下,按需修改 clear;clc; numRows100; %数据区域,步长,步数 numCols100; ax-2;bx2; ay-2;by2; hx(bx-ax)/numCols; hy(by-ay)/numRows; XXCax:hx:bx; %坐标阵,data Y…

Ubuntu磁盘不足扩容

1.问题 Ubuntu磁盘不足扩容 2.解决方法 安装一下 sudo apt-get install gpartedsudo gparted

如何使用 Bittly 为基于 HTTP 的 API 快速创建 UI 操作界面

在开发 Web 应用或服务时,通常会提供不同数量的 API 接口给客户端或其他第三方使用, 当 API 数量达到一定数量的时候,在处理接口间的调用链以及参数关系时就会变得异常麻烦。 在这种情况下便可通过 Bittly 的面板功能将这些 API 结构进行组装…

vue3的生命周期有哪些

vue3的生命周期:1、beforecreate;2、created;3、beforemount;4、mounted;5、beforeupdate;6、updated;7、beforedestroy;8、destroyed;9、activated;10、deac…

洛谷-P5461 赦免战俘(Java递归)

题目背景 借助反作弊系统,一些在月赛有抄袭作弊行为的选手被抓出来了! 题目描述 样例 #1 样例输入 #1 3样例输出 #1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1…

【机器学习】过拟合与欠拟合——如何优化模型性能

【机器学习】过拟合与欠拟合——如何优化模型性能 1. 引言 在机器学习中,模型的表现不仅依赖于算法的选择,还依赖于模型对数据的拟合情况。过拟合(Overfitting)和欠拟合(Underfitting)是模型训练过程中常…

黑马智数Day4-1

新增月卡 配置路由完成跳转 {path: /cardAdd,component: () > import(/views/car/car-card/add-card) }<el-button type"primary" click"$router.push(/cardAdd)">添加月卡</el-button> 车辆信息表单验证 <el-form :model"carInf…