【CentOS 7】挑战探索:在CentOS 7上实现Python 3.9的完美部署指南

【CentOS 7】挑战探索:在CentOS 7上实现Python 3.9的完美部署指南

大家好 我是寸铁👊
总结了一篇【CentOS 7】挑战探索:在CentOS 7上实现Python 3.9的完美部署指南详细步骤✨
喜欢的小伙伴可以点点关注 💝

前言

此篇教程只适用于python3.9之前的,步骤一样,改一下版本号即可,不适用于3.10,笔者踩过很多坑,安装3.10的不要使用此篇教程,可以说是一个避雷贴,可以见笔者主页的另一篇安装教程,非常丝滑地安装!后面会发出来,敬请期待!

基础环境配置升级

sudo yum -y groupinstall “Development tools”
sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
sudo yum install -y libffi-devel zlib1g-dev
sudo yum install zlib* -y

下载源码包

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

解压进入

tar zxvf Python-3.10.10.tgz
cd Python-3.10.10

编译安装

./configure --prefix=/usr/local/python310
make 
sudo make install

出现warning是正常的,如果说出现pip3和python3绑定到到/usr/local/python3/bin/pip3路径。则进行软连接的编辑操作,操作如下:

ln -sf /usr/local/python3/bin/pip3 /usr/bin/pip3
ln -sf /usr/local/python3/bin/python3 /usr/bin/python3

配置环境变量

临时变量

下次开机,则需要重新配置变量

export PATH=/usr/local/python310/bin:$PATH

永久变量

下次开机,永不需要重新配置变量。
一次配置,终身有效。

方式一
sudo echo 'export PATH=/usr/local/python310/bin:$PATH' >> /etc/profile
source /etc/profile

方式二

如果上面那一步sudo后报错的话,是存在权限不足,可以尝试在配置文件中进行配置。
笔者就是权限不足,然后在配置文件中配置的,配置步骤如下:

  • 打开配置文件
vi ~/.bash_profile
  • 打开配置文件,在最后一行添加配置
export PYTHON_HOME=/usr/local/python310
export PATH=$PYTHON_HOME/bin:$PATH

/usr/local/python310为我这里存放pythonbin文件夹的环境变量,如果你跟着笔者走下来,则直接写入即可。否则,则编辑为你自己对应的文件路径。


  • 记得更新配置文件的配置信息!!!
source ~/.bash_profile
  • 最后,可以输入命令检查一下是否配置成功:
echo $PYTHON_HOME

不出意外,就可以看到你的路径信息啦!


检查python版本

python3 -V

运行后,显示如下内容,说明配置成功!

Python 3.10.10

如果显示如下,则需要重新检查上述环境变量的配置是否正确:

python3:未找到命令……

如果发现pip3 install XX不了 可以按照如下文章重装一遍,亲测有效!
https://zhuanlan.zhihu.com/p/661077162

在这里插入图片描述


看到这里的小伙伴,恭喜你又掌握了一个技能👊
希望大家能取得胜利,坚持就是胜利💪
我是寸铁!我们下期再见💕


往期好文💕

保姆级教程

【保姆级教程】Windows11下go-zero的etcd安装与初步使用

【保姆级教程】Windows11安装go-zero代码生成工具goctl、protoc、go-zero

【Go-Zero】手把手带你在goland中创建api文件并设置高亮


报错解决

【Go-Zero】Error: user.api 27:9 syntax error: expected ‘:‘ | ‘IDENT‘ | ‘INT‘, got ‘(‘ 报错解决方案及api路由注意事项

【Go-Zero】Error: only one service expected goctl一键转换生成rpc服务错误解决方案

【Go-Zero】【error】 failed to initialize database, got error Error 1045 (28000):报错解决方案

【Go-Zero】Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)报错解决方案

【Go-Zero】type mismatch for field “Auth.AccessSecret“, expect “string“, actual “number“报错解决方案

【Go-Zero】Error: user.api 30:2 syntax error: expected ‘)‘ | ‘KEY‘, got ‘IDENT‘报错解决方案

【Go-Zero】Windows启动rpc服务报错panic:context deadline exceeded解决方案


Go面试向

【Go面试向】defer与time.sleep初探

【Go面试向】defer与return的执行顺序初探

【Go面试向】Go程序的执行顺序

【Go面试向】rune和byte类型的认识与使用

【Go面试向】实现map稳定的有序遍历的方式

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

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

相关文章

【java前端课堂】05_类的多态

类的多态是面向对象编程的三大特性之一,与封装和继承并列。多态性允许我们将父对象设置为与其子对象相等的技术,让我们可以把一个子对象当作父对象对待。在Java中,多态主要体现在以下三个方面: 方法的重载(Overloadin…

【Mybatis】源码分析-高级应用

1、Mybatis配置文件深入理解 1.2、动态SQL语句 Mybatis 的映射⽂件中,前⾯我们的 SQL 都是⽐较简单的,有些时候业务逻辑复杂时,我们的 SQL是动态变化的,此时在前⾯的学习中我们的 SQL 就不能满⾜要求了。 1.2.1、条件判断 我们根…

技巧:合并ZIP分卷压缩包

如果ZIP压缩文件文件体积过大,大家可能会选择“分卷压缩”来压缩ZIP文件,那么,如何合并zip分卷压缩包呢?今天我们分享两个ZIP分卷压缩包合并的方法给大家。 方法一: 我们可以将分卷压缩包,通过解压的方式…

E10:系统弹窗提示

效果– window.WeFormSDK.showMessage("这是一个E10的提示", 3, 2); const onClickCreate () > console.log("create"); const onClickSave () > console.log("save"); const onClickCancel () > dialogComponent?.destroy(); co…

Java四舍五入保留小数

这里介绍两种方法: package Book.jj.hh;import java.text.DecimalFormat; //使用DecimalFormat类 public class Demo1 {public static void main(String[] args) {double num 123.52631;DecimalFormat a new DecimalFormat("#.00"); //小数点后有几个0…

SpringCloud Gateway基础入门与使用实践总结

官网文档:点击查看官网文档 Cloud全家桶中有个很重要的组件就是网关,在1.x版本中都是采用的Zuul网关。但在2.x版本中,zuul的升级一直跳票,SpringCloud最后自己研发了一个网关替代Zuul,那就是SpringCloud Gateway一句话…

抖音账号永久封号后强制注销释放实名!一分钟教程方法公开

目前方法是可行的,不知道能保持多久! 下载旧版本抖音:下载抖音6.8版本或5.8版本的老版本应用。 使用封禁手机号登录:使用已被永久封禁的手机号登录旧版本的抖音应用。 账号注销操作: 在设置中找到账号与安全的选项。…

从零开始发布你的第一个npm插件包并在多项目中使用

引言 在开源的世界里,每个人都有机会成为贡献者,甚至是创新的引领者。您是否有过这样的想法:开发一个解决特定问题的小工具,让她成为其他开发者手中的利器?今天,我们就来一场实战训练,学习如何将…

【ubuntu】增加samba服务和文件夹

发现ai -server的ubuntu机器无法git clone 下来github的文件所以 使用samba 连接到linux的文件夹proj然后在我的windows上git clone 即可。安装samba Creating config file /etc/samba/smb.conf with new version Setting up libcephfs2 (17.2.7-0ubuntu0.22.04.1) ... Setting…

漏洞挖掘 | 验证码绕过

还是老规矩,开局一个登录框,中途漏洞全靠舔,先来研究一下这个登录窗口 很好,发现有验证码登录,先测试测试能不能并发 看来没有,只成功发送了两条,再看看验证码是不是4位 很好,是4位。…

UE5-AI

AI角色 角色控制器 AI角色必须要一个角色控制器 角色控制器最基本只需要执行行为树,在EventOnPossess后runBehaviorTree 如果要的是一个角色,可以创建一个Character,在类默认设置中可以找到 Pawn->AIControllerClass,在这里…

Android 架构组件面试问答

1. 什么是 Android Architecture Components? 答: 组件是一组库,可帮助您设计健壮、可测试且可维护的应用程序。它们提供了一种清晰且惯用的方式来使用 REST API。这些组件包括 Room、ViewModel、LiveData 等。 2. 什么是LiveData&#xff…

Java接口的变更过程

Java 接口相信所有学过 Java 的人一定都知道,而且 99% 的人一定都背过这个面试题:Java 接口和抽象类的区别是什么?答案都是什么接口方法不能有实现,都是抽象的,接口的方法都默认为 public 修饰等等之类的,这…

推箱子小游戏C++

推箱子是一款经典的益智游戏,玩家需要通过推动箱子来达到特定的目标。在C中实现这样的小游戏需要考虑游戏逻辑、用户输入、图形界面(如果需要的话)以及可能的关卡设计。 下面是一个简单的推箱子游戏的实现框架: 定义游戏环境 创建…

DSP问题:CCS更改工程名导入报错

1、问题现象 复制一个工程出来后,修改版本号,重新导入工程后报错。 显示项目描述无效。 2、问题原因 由于CCS无法通过工程描述中找到指定名字文件夹。使用记事本打开.project文件,里面的描述还是以前的文件夹名,所以导入时报…

Spring Boot 开发 -- 静态资源配置详解

一、引言 在开发Web应用程序时,静态资源的管理和配置是一个重要的环节。Spring Boot框架为开发者提供了便捷的静态资源配置方式,使得我们可以轻松地管理如HTML、CSS、JavaScript、图片等静态资源。本文将详细介绍如何在Spring Boot项目中配置和管理静态…

Innodb Buffer Pool缓存机制(三)Innodb Buffer Pool内部组成

一、控制块缓存页 Buffer Pool中默认的缓存页大小和在磁盘上默认的页大小是一样的,都是16KB。为了更好的管理这些在Buffer Pool中的缓存页,InnoDB为每一个缓存页都创建了一些所谓的控制信息,这些控制信息包括该页所属的表空间编号、页号、缓存…

Android基础-AndroidManifest.xml详解

在Android开发中,AndroidManifest.xml 文件是一个至关重要的组成部分,它位于应用的根目录的 app/src/main/ 文件夹下。这个文件提供了Android系统和其他应用所需的所有关于应用的元数据信息。以下是对 AndroidManifest.xml 文件的详细解析。 1. 文件结构…

[Vulfocus解题系列]spring 命令执行(CVE-2022-22947)

环境部署 使用docker部署环境 漏洞等级:高危 3 月 1 日,VMware 官方发布安全公告,声明对 Spring Cloud Gateway 中的一处命令注入漏洞进行了修复,漏洞编号为CVE-2022-22947 Spring官方发布 漏洞描述 使用 Spring Cloud Gate…

javaweb—Vue

重点为&#xff1a;双向数据绑定。 框架&#xff1a;是一个半成品软件&#xff0c;是一套可重用的、通用的、软件基础代码模型&#xff0c;基于框架进行开发&#xff0c;更加快捷&#xff0c;更加高效。 Vue快速入门 基础框架&#xff1a; <!DOCTYPE html> <html lan…