Linux(CentOS7.5) 安装部署 Python3.6(超详细!包含 Yum 源配置!)

news2025/2/2 12:51:22

文章目录

    • 1.配置 Yum 源
    • 2.下载 Python3 包
    • 3. 解压
    • 4.安装依赖环境
    • 5.安装
      • 出错场景
    • 6.创建软链接
    • 7.配置 Python3 的环境变量
    • 8.验证
    • 补充:安装 openssl-devel
    • 补充:pip3 源配置

1.配置 Yum 源

# 注意!!!请先切换到 root 账号,然后再执行下面的步骤。
# 安装epel-release
yum install -y epel-release

# 备份旧的 yum 源
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
cp /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak

# 获取 yum 源镜像
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

# 清理缓存
yum clean all

# 重新生成缓存
yum makecache

2.下载 Python3 包

选择你需要安装的 Python3 版本进行下载 —— Index of /ftp/python/

或者通过 wget 方式下载:

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

但下载速度比较慢,可以直接通过我的链接下载 —— Python-3.6.5.tgz

3. 解压

tar -zxvf Python-3.6.5.tgz -C /opt/module/

4.安装依赖环境

这一步只要前面 Yum 源配置对了就不会报错,如果出错了,可以直接把 /etc/yum.repos.d 下的文件全部删除,然后重新获取 Yum 源镜像,清理并更新 Yum 缓存。

yum -y install libffi-devel zlib zlib-dev zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi libffi-devel gcc gcc-c++ make

5.安装

# 提前创建一个安装(存储)目录
mkdir /usr/local/python3

# 进入包的解压路径
cd /opt/module/Python-3.6.5

# 指定 python3 安装的路径
./configure --prefix=/usr/local/python3

在执行命令后,可能会出现如下报错信息:

[ad@hadoop201 Python-3.6.5]$ ./configure --prefix=/usr/local/python3
checking build system type… x86_64-pc-linux-gnu
checking host system type… x86_64-pc-linux-gnu
checking for python3.6… no
checking for python3… no
checking for python… python
checking for --enable-universalsdk… no
checking for --with-universal-archs… no
checking MACHDEP… linux
checking for --without-gcc… no
checking for --with-icc… no
checking for gcc… no
checking for cc… no
checking for cl.exe… no
configure: error: in /opt/module/Python-3.6.5': configure: error: no acceptable C compiler found in $PATH
See config.log’ for more details

解决方法

这是由于没有 C 语言编译器引起的,下载后即可解决。

yum install -y gcc

重新执行命令,等待约 30s 后如下所示:

在这里插入图片描述

这里提示是否需要开启自动优化,无需理会。

进行编译安装

# 注意!!!该命令请在 Python3 的解压根路径中完成,不要切换路径!
make && make install

这个过程需要等待一两分钟。

如果安装过程中出现了报错,可以看看下面出现的报错场景,找找解决方法。

报错解决后,重新执行编译安装命令。

安装完成后,如下所示:

在这里插入图片描述

出错场景

如果出现如下报错:

Traceback (most recent call last):
File “/opt/module/Python-3.6.5/Lib/runpy.py”, line 193, in _run_module_as_main
main”, mod_spec)
File “/opt/module/Python-3.6.5/Lib/runpy.py”, line 85, in _run_code
exec(code, run_globals)
File “/opt/module/Python-3.6.5/Lib/ensurepip/main.py”, line 5, in
sys.exit(ensurepip._main())
File “/opt/module/Python-3.6.5/Lib/ensurepip/init.py”, line 204, in _main
default_pip=args.default_pip,
File “/opt/module/Python-3.6.5/Lib/ensurepip/init.py”, line 117, in _bootstrap
return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
File “/opt/module/Python-3.6.5/Lib/ensurepip/init.py”, line 27, in _run_pip
import pip
zipimport.ZipImportError: can’t decompress data; zlib not available

这是由于没有 zlib 的工具包导致的,下载该依赖包即可解决:

yum -y install zlib*

如果在安装 zlib 包时,又出现了报错:

Transaction check error:
  package zlib-1.2.7-21.el7_9.x86_64 is already installed
  
错误概要
-------------

可以先卸载后再重新执行安装命令:

yum -y remove zlib-1.2.7-21.el7_9.x86_64

这一套操作下来,这个问题应该可以得到解决,zlib* 包安装完成。

在这里插入图片描述

6.创建软链接

#注意!!!这里具体的版本号如果你不是 python3.6,则需要修改成你的版本
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3

7.配置 Python3 的环境变量

vi ~/.bash_profile

设置成你的安装路径:

export PYTHON_HOME=/usr/local/python3
export PATH=$PYTHON_HOME/bin:$PATH

刷新环境变量

source ~/.bash_profile

8.验证

python3 --version

在这里插入图片描述

Python3 安装完成~

为了方便后续的使用,建议更新一下 pip 版本:

pip3 install --upgrade pip

补充:安装 openssl-devel

如果没有安装 openssl-devel 包,在下载其它包时,可能会出现如下问题:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

在这里插入图片描述

请先切换到 root 账号,然后执行下载命令:

yum -y install openssl-devel

重编译:

# 注意!!!该命令请在 Python3 的解压根路径中完成!
make && make install

重编译完成后,即可正常下载。

补充:pip3 源配置

# 创建配置文件目录
mkdir ~/.pip

# 创建配置文件并添加源
vi ~/.pip/pip.conf  

阿里源配置:

[global]
index-url=https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

包安装测试

在这里插入图片描述

可以看到,源已经成功的替换了,下载速度嘎嘎快。

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

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

相关文章

什么是搜索引擎(SEO)爬虫它们是如何工作的?

什么是搜索引擎(SEO)爬虫&它们是如何工作的? 你的网站上有蜘蛛🕷️。别抓狂!我说的不是真正的八条腿的蜘蛛🕷️。 我指的是搜索引擎优化爬虫。他们是实现SEO的机器人。每个主要的搜索引擎都使用爬虫来…

存储阵列从哪些方面改善影视后期制作环境

在4K/8K视频越来越成为影视制作主流的今天,超大的影视文件给项目按时完成带来了严重的挑战。对于影视工作室来说要想赶上进度,在存储的选择上通常有三个难题亟待解决:怎么搭建高性能影视协作环境? 文件量增长怎么扩展现有的存储? 如何有效的…

NumPy介绍及其应用领域

1.NumPy介绍 ​NumPy(Numerical Python)是 Python 的一个开源的扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy的前身为Numeric,起初由Jim Hugunin与其他协作者共同开发&…

Elment ui 动态表格与表单校验 列表数据 组件

组件做个记录&#xff0c;方便以后会用到。 效果&#xff1a; 代码 &#xff1a; <template><el-dialog title"商品详情" :visible.sync"dialogVisible" width"80%"><el-tabs v-model"activeTab"><el-tab-pane…

数据可视化Grafana Windows 安装使用教程(中文版)

1.跳转连接 天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/site?url 2.下载应用程序 官网地址&#xff1a;Grafana get started | Cloud, Self-managed, Enterprisehttps://grafana.com/get/ 3.修改配置文件 grafana\conf\defaults 4.启动\bin\目录下serve应用程序 浏…

C#属性显示

功能&#xff1a; 显示对象的属性&#xff0c;包括可显示属性、可编辑属性、及不可编辑属性。 1、MainWindow.xaml <Window x:Class"FlowChart.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://sche…

使用filezilla连接Ubuntu22.04虚拟机

获取电脑IP和虚拟机IP ① 在windows下ctrlR再输入cmd&#xff0c;打开指令窗口&#xff0c;输入 ipconfig 虚拟机连接电脑用的是NAT模式&#xff0c;故看VMnet8的IP地址 ② 查看虚拟机IP地址 终端输入 ifconfig 如果没安装&#xff0c;按提示安装net-tools sudo apt install …

vue3封装Element导航菜单

1. 导航外层布局 AsideView.vue <template><el-menu:default-active"defaultActive"class"my-menu":collapse"isCollapse":collapse-transition"false"open"handleOpen"close"handleClose"><menu…

云渲染实用工具:3ds max怎么改低版本?

3ds Max是建模领域广泛采用的专业软件&#xff0c;它通过定期更新来不断增强功能和提升性能。但这些频繁的更新有时会导致一些插件暂时无法与新版本完全兼容。为了解决这个问题&#xff0c;设计师们可以采用一个简单有效的方法&#xff0c;那就是将较新版本的3ds Max文件进行版…

拆分巨石:将MVPS和MVAS应用于遗留应用程序——可持续架构(六)

前言 MVP 和 MVA 的概念不仅适用于新应用程序&#xff1b;它们提供了一种新颖的方式来审视对遗留系统的范围变更&#xff0c;以防止过快地承担过多的变化 - 参见图1。MVA 可以帮助组织评估和更新其技术标准&#xff0c;通过展示新技术如何真正对支持 MVP 至关重要。创建 MVA 可…

uniapp对接极光推送(国内版以及海外版)

勾选push&#xff0c;但不要勾选unipush 国内版 网址&#xff1a;极光推送-快速集成消息推送功能,提升APP运营效率 (jiguang.cn) 进入后台&#xff0c;并选择对应应用开始配置 配置安卓包名 以及ios推送证书&#xff0c;是否将生产证书用于开发环境选择是 ios推送证书…

HarmonyOS ArkTS 骨架屏加载显示(二十五)

目录 前言1、骨架屏代码显示2、代码中引用3、效果图展示 前言 所谓骨架屏&#xff0c;就是在页面进行耗时加载时&#xff0c;先展示的等待 UI, 以告知用户程序目前正在运行&#xff0c;稍等即可。 等待的UI大部分是 loading 转圈的弹窗&#xff0c;有的是自己风格的小动画。其实…

【ERP原理与应用】作业·思考题三、四

思考题三 P77第四章3&#xff0c; 6&#xff0c;8 3.生产规划的基本内容是什么&#xff1f; 生产规划是根据企业未来一段时间内预计资源可用量和市场需求量之间的平衡所制定的概括性设想是根据企业所拥有的生产能力和需求预测&#xff0c;对企业未来较长一段时间内的产品、产…

elasticsearch _cat/indices docs.count is different than <index>/_count

今天遇到一个问题&#xff0c;kibana中看到文档数与下面语句查询到的不同 GET /_cat/count/jiankunking_xxxxx_product_expand_test?v GET /jiankunking_xxxxx_product_expand_test/_search?track_total_hitstrue语句查询结果 epoch timestamp count 1711433785 06:16…

用navicat进行mysql表结构同步

用navicat进行mysql表结构同步 前言新增一个列然后进行表结构同步删除一个列然后进行表结构同步把Int列转成TinyInt列&#xff0c;看数字溢出的情况下能不能表结构同步总结 前言 从同事那边了解到还能用navicat进行表结构同步&#xff0c;他会在发布更新的时候&#xff0c;直接…

MPDataDoc类介绍

MPDataDoc类介绍 使用mp数据库新接口mp_api.client.MPRester获取数据&#xff0c;例子如下&#xff1a; from mp_api.client import MPResterwith MPRester(API_KEY) as mpr:docs mpr.summary.search(material_ids["mp-1176451", "mp-561113"])以上代码返…

vue3+threejs新手从零开发卡牌游戏(二十一):添加战斗与生命值关联逻辑

首先将双方玩家的HP存入store中&#xff0c;stores/common.ts代码如下&#xff1a; import { ref, computed } from vue import { defineStore } from piniaexport const useCommonStore defineStore(common, () > {const _font ref() // 字体const p1HP ref(4000) // 己…

常见的Nginx+Redis+MQ+DB架构设计

三高&#xff0c;复杂的架构 SQRS CAP 缓存&#xff0c;限流 【Redis&#xff0c;缓存】 cache-aside 缓存cache&#xff1a;数据源的副本 store 1. Read/Write Through Pattern 读写穿透模式 redis&#xff1a;放当前在线用户&#xff0c;热点数据

iOS UIFont-真香警告之字体管理类

UIFont 系列传送门 第一弹加载本地字体:iOS UIFont-新增第三方字体 第二弹加载线上字体:iOS UIFont-实现三方字体的下载和使用 第三弹搭建字体管理类:iOS UIFont-真香警告之字体管理类 前言 不知道友们是否有过这种经历,项目已经迭代了很多版本,项目中的文件已经上千个了…

ARP协议定义及工作原理

ARP的定义 地址解析协议(Address Resolution Protocol&#xff0c;ARP)&#xff1a;ARP协议可以将IPv4地址(一种逻辑地址)转换为各种网络所需的硬件地址(一种物理地址)。换句话说&#xff0c;所谓的地址解析的目标就是发现逻辑地址与物理地址的映射关系。 ARP仅用于IPv4协议&a…