在Linux上安装Python3
记录:373
场景:在CentOS 7.9操作系统上,安装Python-3.8.9环境。
版本:
JDK 1.8
Python-3.8.9
官网地址:https://www.python.org
下载地址:https://www.python.org/ftp/python/
1.安装基础依赖
1.1安装gcc
(1)安装
命令:yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils gcc
(2)配置
命令:echo 'source /opt/rh/devtoolset-9/enable'>>/etc/profile
(3)生效
命令:source /etc/profile && source /opt/rh/devtoolset-9/enable
(4)查看
命令:gcc --version
解析:查看版本已经是gcc (GCC) 9.3.1。
1.2安装其它基础包
命令:yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
2.下载包
(1)官网下载网址
地址:https://www.python.org/ftp/python
(2)下载包
下载命令:wget https://www.python.org/ftp/python/3.8.9/Python-3.8.9.tgz
解析:如果没有wget命令,先执行:yum install -y wegt。包名称:Python-3.8.9.tgz
3.解压包
包存放路径:/home/apps/software/Python-3.8.9.tgz
解压命令:tar -zxvf /home/apps/software/Python-3.8.9.tgz -C /opt/
解析:解压到/opt/Python-3.8.9目录。
4.配置编译路径
创建目录:mkdir -p /usr/local/python-3.8.9
配置编译路径:/opt/Python-3.8.9/configure --prefix=/usr/local/python-3.8.9
解析:编译安装输出结果会存放到:/usr/local/python-3.8.9。
5.编译和安装
操作目录:/opt/Python-3.8.9
编译安装:make install
解析:安装Python3完成后,在/usr/local/python-3.8.9生成了python3文件。目录:bin、include、lib、share。
6.创建软链接
6.1创建python3和pip3软链接
命令:ln -s /usr/local/python-3.8.9/bin/python3.8 /usr/bin/python3
命令:ln -s /usr/local/python-3.8.9/bin/pip3.8 /usr/bin/pip3
解析:把安装的python3.8创建软链接到/usr/bin/python3和把安装的pip3.8创建软链接到/usr/bin/pip3。
6.2创建软链接作用
(1)python2和python3可以共存,根据python2和python3区分
(2)一般应用在使用python命令时,默认会到/usr/bin/寻找已经安装的命令。因此,建立软链接后,比如使用:python3 -V时,系统就能找到/usr/bin/python3命令。
7.使用python3
命令:python3 -V
命令:pip3 -V
解析:查看版本,辅助确认命令是否可用了。
8.注意事项
8.1 python -V默认指向的版本
现状:使用python -V命令,会指向默认的python版本,一般是指向系统自带的Python 2.7.5。
原因:系统默认安装的python在/usr/bin/目录下,有以下三个可执行文件。
/usr/bin/python2.7:默认安装的python可执行文件。
/usr/bin/python2 -> python2.7:使用软链接把python2指向了python2.7。
/usr/bin/python -> python2:使用软链接把python指向了python2。
结论:使用python -V、python2 -V和python2.7 -V都指向Python 2.7.5。
8.2 python3 -V指向的版本
现状:python3 -V指向python3.8。
原因:使用软链接/usr/bin/python3 -> /usr/local/python-3.8.9/bin/python3.8实现了指向Python 3.8.9。
结论:使用python3 -V指向Python 3.8.9。
8.3修改python -V指向的版本python3
命令:ln -s /usr/local/python-3.8.9/bin/python3.8 /usr/bin/python3
命令:ln -s /usr/bin/python3 /usr/bin/python
解析:把/usr/local/python-3.8.9/bin/python3.8是安装目录下的可执行文件,先链接到/usr/bin/python3,再链接到/usr/bin/python。同时解除python -> python2链接关系。这样使用:python -V时,就指向Python 3.8.9。
8.4编译、安装、应用目录说明
(1)下载目录
下载包目录:/home/apps/software/Python-3.8.9.tgz。
解析:存放从远程仓库下载的目录。
(2)编译目录
编译目录:/opt/Python-3.8.9
解析:把Python-3.8.9.tgz解压到的目录,同时在此目录执行编译安装指令。
(3)安装目录
安装目录:/usr/local/python-3.8.9
解析:在/opt/Python-3.8.9执行编译安装指令后,输出的编译结果文件存放的目录。
(4)应用目录
目录:/usr/bin/
应用程序:/usr/bin/python3
解析:Linux系统上的应用在需要使用python3时,默认查询的目录。换句话说,凡是安装的软件默认的可执行文件一般都在/usr/bin/下。
9.使用python3
创建脚本:vi hello.py
脚本内容:
#!/usr/bin/python3
print("Hello,World.")
print("Hello,Hangzhou.")
执行脚本:python3 hello.py
以上,感谢。
2023年2月10日
相关文章:
在Linux上安装Python3
记录:373场景:在CentOS 7.9操作系统上,安装Python-3.8.9环境。版本:JDK 1.8 Python-3.8.9官网地址:https://www.python.org下载地址:https://www.python.org/ftp/python/1.安装基础依赖1.1安装gcc(1)安装命…...
23 种设计模式的通俗解释,看完秒懂
01 工厂方法 追 MM 少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西,虽然口味有所不同,但不管你带 MM 去麦当劳或肯德基,只管向服务员说「来四个鸡翅」就行了。麦当劳和肯德基就是生产鸡翅的 Factory 工厂模式&…...
如何做好需求管理?经验方法、模型、工具
需求管理能力是衡量产品经理能力的一个重要指标。因为需求是产品的基石,只有选取恰当的方法进行需求分析及管理,才能更好的构建产品方案,从而输出精准的产品定义。结合本人学习和自身经验,打算将需求管理分”需求挖掘”、”需求分…...
怎么用期货做风险对冲(如何利用期货对冲风险)
不同期货市场的同一期货品种的对冲交易怎么做 不同 期货市场 的同一期货品种的 对冲交易 。 因为地域和 制度环境 不同,同一种期货品种在不同市场的同一时间的价格很可能是不一样的,并且也是在不断变化的。 这样在一个市场做多头买进࿰…...
C++标准模板库type_traits源码剖析
一、type_traits源码介绍 1、type_traits是C11提供的模板元基础库。 2、type_traits可实现在编译期计算。包括添加修饰、萃取、判断查询、类型推导等等功能。 3、type_traits提供了编译期的true和false。 二、type_traits的作用 1、根据不同类型,模板匹配不同版本…...
Python获取公众号(pc客户端)数据,使用Fiddler抓包工具
前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 今天来教大家如何使用Fiddler抓包工具,获取公众号(PC客户端)的数据。 Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,…...
Maven进阶
这里写目录标题1.分模块开发1.1 模块更新后,会造成的影响2.依赖管理2.1 依赖传递2.2 可选依赖(隐藏自己的依赖,不让别人用)2.3 排除依赖(用别人的资源,把不用的去了)3.聚合与继承3.1 为什么要使用聚合工程?3.2 聚合工程开发2.1 聚合工程三级目录1.分模块开发 我们之前做的项目…...
AXI实战(一)-为AXI总线搭建简单的仿真测试环境
AXI实战(一)-搭建简单仿真环境 看完在本文后,你将可能拥有: 一个可以仿真AXI/AXI_Lite总线的完美主端(Master)或从端(Slave)一个使用SystemVerilog仿真模块的船信体验小何的AXI实战系列开更了,以下是初定的大纲安排: 欢迎感兴趣的朋友关注并支持,以下为正文部分 文章目录…...
数据库管理-第五十六期 监控(20230210)
数据库管理 2023-02-10第五十六期 监控1 怎么监控2 直观3 历史分析4 另一个BUG总结第五十六期 监控 春节后的7天班过后就来到了2月份,本周对之前发现X8M上的那个bug进行补丁修复和协助从12.2迁移了一套PDB到这个一体机上面,2次割接。这周还和原厂老大哥…...
测试开发,测试架构师为什么能拿50 60k呢需要掌握哪些技能呢
这篇文章是软件工程系列知识总结的第五篇,同样我会以自己的理解来阐述软件工程中关于架构设计相关的知识。相比于我们常见的研发架构师,测试架构师是近几年才出现的一个岗位,当然岗位title其实没有特殊的含义,在我看来测试架构师其…...
Miniblink 入门
miniblink官网:入门之前强烈建议将Miniblink介绍仔细看一遍。 MB内核组件标准版接口文档:这里列举了所有的api以及简单的说明,但是本人建议还是看wke.h更方便,里面都是宏实现的,直接搜相关函数即可。 mb demo下载和参…...
[python入门㊷] - python存储数据
目录 ❤ json.dump()存储数据 ❤ json.laod()读取数据 ❤ 保存和读取用户生成的数据 ❤ 重构 JSON(JavaScript Object Notation)格式最初是为JavaScript开发的,但随后成了一种常见格式,被包括Python在内的众多语言采用 ❤ json.dump()存储数据…...
Little Fighter:旺角——NFT 系列来袭!
《小朋友齐打交 2 (LF2) 》是一款流行的格斗游戏,由 Marti Wong 和 Starsky Wong 于 1999 年创作。这是一款非常容易上瘾的游戏,具有多种游戏模式、横向卷轴格斗系统以及 24 个具有复杂动作和连击的不同角色。这款游戏在世界范围内非常受欢迎,…...
基础篇:01-微服务概述
1.单体应用与微服务架构区别 如上图左侧为单体应用架构。在传统单体应用中,所有功能模块都在一个工程中编码、部署,即使是集群部署,也只是单体应用的水平复制。 如上图右侧为微服务架构。在微服务架构的项目中,每个应用会按照领域…...
TC358775XBG替代方案|完美替代 TC358775XBG替代方案|低BOM成本DSI转LVDS方案CS5518
TC358775XBG替代方案|完美替代 TC358775XBG替代方案|低BOM成本DSI转LVDS方案CS5518 TC358775XBG芯片的主要功能是DSI到LVDS桥,通过DSI链路实现视频流输出,以驱动LVDS兼容的显示面板。该芯片支持单链路LVDS高达1366768 24位像素分辨率,双链路L…...
Android开发
前言:因为这学期选了手机APP开发这门课,所以还是写个博客记录一下学习过程,包括安卓开发和ios开发。用到的资料包括课程PPT,和我在网上找的一些视频和资料。 1.Andriod入门 XML:描绘应用界面 (决定APP长什…...
virtualbox虚拟机导入到vmware esxi虚拟机
virtualbox导出的ova文件转换为ovf文件导入到vmware esxi虚拟机 1、下载安装程序 链接:https://pan.baidu.com/s/1pRP8MQswDSDecMB5eJGNYA?pwdmv2q 提取码:mv2q 双击VMware-ovftool-3.0.1-801290-win.x86_64.msi默认安装 2、在cmd中进入到Vware OVF…...
如何使用命名空间管理C++代码
在编写 C 代码时,管理代码组织和消除名称冲突是一个重要问题。 为了解决这个问题,C 提供了一种叫做命名空间的机制。命名空间可以将代码组织在一起,并防止不同模块间的名称冲突。 定义命名空间 首先,你需要在代码中声明命名空间…...
海思3559:BT656调试笔记
前言 海思3559a的sdk例子是没有提供BT1120和BT656视频接入的,但实际上硬件是可以支持接入的。不过前提是只支持逐行方式输入,不支持隔行视频,如果想输入PAL制式的隔行视频,请先用芯片转成逐行再接入。不知道是官方手册有意无意的忽…...
reactor之hooks
Hooks 是一个工具类,它提供了一些方法,用来在 Reactor 的各个阶段添加回调函数,进行全局性的操作。总体来说分为三类: 本部分算是reactor中比较高级的部分,建议在开始上手用reactor做项目前,大概知道有这么…...
单片AR眼镜Monocle揭秘:基于反射棱镜,重15g续航1小时
提问:一个戴近视眼镜的人,会愿意再同时戴一副AR眼镜吗?这个问题对于VR来说并不难,通常VR头显为镜框留出了空间(一些Pancake VR自带屈光调节机制),因此二者并不冲突。然而AR眼镜体积更紧凑&#…...
计算机视觉框架OpenMMLab开源学习(五):目标检测实战
✨写在前面:强烈推荐给大家一个优秀的人工智能学习网站,内容包括人工智能基础、机器学习、深度学习神经网络等,详细介绍各部分概念及实战教程,通俗易懂,非常适合人工智能领域初学者及研究者学习。➡️点击跳转到网站。…...
SpringIOC推导IOC初步
了解准备 什么是Spring? Spring是一款轻量级的控制反转(IOC)和面向切面编程(AOP)的非入侵式开源框架 2002年Spring的前身interface21发布,随后在2004年3月24日正式更名发布Spring1.0版本Spring Frameword缔…...
Linux(centOS7)虚拟机中配置 vim
👏作者简介:大家好,我是小童,Java开发工程师,CSDN博客博主,Java领域新星创作者 📕系列专栏:前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 Ǵ…...
消息中间件-RocketMQ入门 消息发送的三种方式
消息中间件-RocketMQ入门 消息发送的三种方式消息中间件简介应用场景常用消息中间件RocketMQ核心概念入门案例-生产者和消费者代码逻辑消息发送的三种方式同步发送异步发送一次性消息消息中间件简介 应用场景 假设现在有订单微服务和积分微服务,正常请求流程之后是不是一个订…...
【FLASH存储器系列十九】固态硬盘掉电后如何恢复掉电前状态?
掉电分两种,一种是正常掉电,另一种是异常掉电。不管是哪种原因导致的掉电,我们都希望,重新上电后,SSD都需要能从掉电中恢复过来,继续正常工作。正常掉电恢复,这个好理解,主机通知SSD…...
Java知识点细节简易汇总——(7)面向对象编程(高级部分)
一、类变量、静态变量static static访问方式: public class VisitStatic {public static void main(String[] args) {//方法一://类名.类变量名//说明:类变量是随着类的加载而创建,所以即使没有创建对象实例也可以访问System.out.println(A.…...
阻塞式队列-生产者消费者模型
1.阻塞队列是什么 阻塞队列是一种特殊的队列. 也遵守 "先进先出" 的原则. 阻塞队列能是一种线程安全的数据结构, 并且具有以下特性: 当队列满的时候, 继续入队列就会阻塞, 直到有其他线程从队列中取走元素.当队列空的时候, 继续出队列也会阻塞, 直到有其他线程往队…...
引导滤波code
文章目录1. 原理概述2. 实验环节2.1 验证与opencv 库函数的结果一致2.2 与 双边滤波比较2.3 引导滤波应用,fathering2.3 引导滤波应用,图像增强2.4 灰度图引导,和各自通道引导的效果差异2.5 不同参数设置影响3. 参考引导滤波1. 原理概述 引导…...
Leetcode.2353 设计食物评分系统
题目链接 Leetcode.2353 设计食物评分系统 Rating : 1782 题目描述 设计一个支持下述操作的食物评分系统: 修改 系统中列出的某种食物的评分。 返回系统中某一类烹饪方式下评分最高的食物。 实现 FoodRatings类: FoodRatings(String[] foo…...
江苏连云港网站建设公司/牡丹江seo
会有如题的思考,是因为我一直有一个疑问java文件的编码会影响字符串的编码嘛? 因此自然而然就想到了java编译后的文件的编码。 1 javac在控制台编译java类文件 手动建立一个java文件Demo.java,并保存。 此时Demo.java文件的编码为ANSI,中…...
做网站怎么添加关键词/东莞网络推广
1、配置文件 2、调用 有两种使用方式 1)如果需要以固定速率执行,只要将注解中指定的属性名称改成fixedRate即可,以下方法将以一个固定速率5s来调用一次执行,这个周期是以上一个任务开始时间为基准,从上一任务开始执行后5s再次调…...
移动互联网开发找工作/武汉seo结算
综观多家企业的ERP实施情况,笔者发现有一个比较大的误区,即都忽视了计划在工作中的作用。有些企业虽然意识到计划的重要性,但是在实际工作中会因为种种原因无法落实到实处。笔者认为,计划是ERP项目中的灵魂,企业用户应…...
网站app制作教程/品牌广告文案
Java中的计算主要有double,float,int,long,BigDecimal1、float和double主要用户科学计算和工程计算,它们执行二进制浮点运算,这是为了在广泛的数值范围上提供较为精确的快速近似计算而设计的。然而它们并没有提供完全精确的结果,所以不应该被…...
12380网站的建设情况/电商关键词查询工具
在原生中事件调用就需要加上on,例如:onmouseenter,onclick, 但是由于jquery自己封装了,不属于原生,所以我们在调用事件的时候不会用到on $(document).ready(function(){ $(".parent").mouseenter(function(){ $(".…...
桂林创新大厦网站/网络推广的网站有哪些
受工作性质所影响 最近对DataBase蛮有兴趣 之前只是对SQL Server小有接触 一直只能仰望Oracle和DB2 最近突然想对他们动起了念头 因为网速原因 DB2暂时还未下载到 所以就只好先对Oracle 10g下手了 安装过程倒是挺顺利 对于第一次接触Oracle的我来说 安装成功后 真是点不知所措 …...