当前位置: 首页 > news >正文

在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 工厂模式&…...

如何做好需求管理?经验方法、模型、工具

需求管理能力是衡量产品经理能力的一个重要指标。因为需求是产品的基石,只有选取恰当的方法进行需求分析及管理,才能更好的构建产品方案,从而输出精准的产品定义。结合本人学习和自身经验,打算将需求管理分”需求挖掘”、”需求分…...

怎么用期货做风险对冲(如何利用期货对冲风险)

不同期货市场的同一期货品种的对冲交易怎么做 不同 期货市场 的同一期货品种的 对冲交易 。 因为地域和 制度环境 不同,同一种期货品种在不同市场的同一时间的价格很可能是不一样的,并且也是在不断变化的。 这样在一个市场做多头买进&#xff0…...

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 个具有复杂动作和连击的不同角色。这款游戏在世界范围内非常受欢迎&#xff0c…...

基础篇: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做项目前,大概知道有这么…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

OpenLayers 可视化之热力图

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

在rocky linux 9.5上在线安装 docker

前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

【JVM】- 内存结构

引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

如何为服务器生成TLS证书

TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...