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

文章目录

    • 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

包安装测试

在这里插入图片描述

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

stable diffusion如何下载预处理器?

如何下载预处理器? 具体位置:SD文件>extensions>sd-webui-controlnet>annotator” 把整个文件夹复制到SD的文件夹里面 里面有一个“downloads”文件夹 把这些模型复制到“downloads”文件夹里

【QT学习】1.qt初识,创建qt工程,使用按钮,第一个交互按钮

1.初识qt--》qt是个框架,不是语言 1.学习路径 一 QT简介 ,QTCreator ,QT工程 ,QT的第一个程序,类,组件 二 信号与槽 三 对话框 四 QT Desiner 控件 布局 样式 五 事件 六 GUI绘图 七 文件 八 …

constexpr与std::is_same_v碰撞会产生什么火花?

1. 只编译会用到的if分支 示例代码一中,checkType_v1和checkType_v2两个函数的区别就是if的条件里一个加了constexpr一个没加,加与不加从结果来看都一样,那在编译时和运行时各有什么区别呢? 示例代码一,test_01.cpp&…

数字孪生项目的开发工具

数字孪生项目的开发工具是实现数字孪生技术应用的关键。它们使得开发者能够创建、管理和优化数字孪生模型,以及与真实世界的实体进行交互。以下是一些数字孪生项目开发中常用的工具,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件…

软件工程学习笔记14——案例解析篇

一、大型开源项目对软件工程的应用 以VS Code为例,看大型开源项目是如何应用软件工程的。 软件工程的核心,就是围绕软件项目开发,对开发过程的组织,对方法的运用,对工具的使用。 所以当我们去观察一个软件项目&#…

主流好用的 Markdown 编辑器介绍

在当今程序员的日常工作中,Markdown 已经成为了一种常用的文本标记语言,它简洁、易读、易写,被广泛应用于写作、文档编写、博客撰写等场景。为了更高效地编辑和管理 Markdown 格式的文档,选择一款功能强大、易用的 Markdown 编辑器…

基于jdbc+mysql+java的简单货物管理系统

智能软件(后端测试) 路线篇 第一阶段: javamysqljdbc综合实战应用ai企业级框架工具:eclipse 第二阶段 seevletssm框架vueai综合实战serclet工具: ideaiflycode大模型gitmaven 组内任务 项目开发答辩 第三阶段 基…

GEE实践应用|热岛效应(一)地表温度计算

目录 1.学习目标 2.理论介绍 3.从MODIS获得地表温度 4.从Landsat卫星获得地表温度 1.学习目标 ①了解如何使用GEE计算地表温度 2.理论介绍 城市化涉及用建筑物、道路和停车场等建筑结构取代自然景观。这种土地覆盖的改变也改变了土地表面的特性。这些变化的范围从表面反射和…

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

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

基于springboot和vue的在线图书管理系统

目 录 摘要…………………………………………………………………………………………………………1 引言/引论 …………………………………………………………………………………………………2 1.绪论……………………………………………………………………………………3 1.1 背…

Go语言爬虫实战(线程池)

Go语言爬虫实战 目标 利用go语言爬取指定网站的图片。实现爬取网站任意页面所有所需的图片。实现使用go语言线程池开启多个线程爬取图片内容。最后实现创建多个文件夹存储图片。 爬取网站图片 步骤 对指定URL发去GET请求,获取对应的响应。 resp, err : http.Get(…

【STM32嵌入式系统设计与开发】——13WWDG(窗口看门狗应用)

这里写目录标题 一、任务描述二、任务实施1、WWDG工程文件夹创建2、函数编辑(1)主函数编辑(2)USART1初始化函数(usart1_init())(3)USART数据发送函数( USART1_Send_Data(&#xff09…

单词频次-第12届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第44讲。 单词频次&#xf…

大模型重塑电商,淘宝、百度、京东讲出新故事

配图来自Canva可画 随着AI技术日渐成熟,大模型在各个领域的应用也越来越深入,国内互联网行业也随之进入了大模型竞赛的后半场,开始从“百模大战”转向了实际应用。大模型从通用到细分垂直领域的跨越,也让更多行业迎来了新的商机。…

Python学习:lambda(匿名函数)、装饰器、数据结构

Python Lambda匿名函数 Lambda函数(或称为匿名函数)是Python中的一种特殊函数,它可以用一行代码来创建简单的函数。Lambda函数通常用于需要一个函数作为输入的函数(比如map(),filter(),sort()等&#xff0…

boost::asio::ip::tcp/udp::socket::release 函数为什么限制 Windows 8.1 才可以调用?

如本文题目所示,这是因为只有在 Windows 8.1(Windows Server 2012 RC)及以上 Windows 操作版本才提供了运行时,修改/删除完成端口关联的ABI接口。 boost::asio 在 release 函数底层实现之中是调用了 FileReplaceCompletionInform…

(完结)Java项目实战笔记--基于SpringBoot3.0开发仿12306高并发售票系统--(三)项目优化

本文参考自 Springboot3微服务实战12306高性能售票系统 - 慕课网 (imooc.com) 本文是仿12306项目实战第(三)章——项目优化,本篇将讲解该项目最后的优化部分以及一些压测知识点 本章目录 一、压力测试-高并发优化前后的性能对比1.压力测试相关…

Modelsim手动仿真实例

目录 1. 软件链接 2. 为什么要使用Modelsim 3. Modelsim仿真工程由几部分组成? 4. 上手实例 4.1. 新建文件夹 4.2. 指定目录 4.3. 新建工程 4.4. 新建设计文件(Design Files) 4.5. 新建测试平台文件(Testbench Files&…

H7310 线性恒流调光芯片 支持24V30V48V60V100V转3.3V5V12V1.5A 外围简单 性价比高

线性恒流调光芯片是一种能够将输入电压稳定转换为恒定电流输出的电子设备,同时支持调光功能。这种芯片通常具有较高的效率和稳定性,适用于LED照明、显示屏等领域。 针对您提到的支持24V、30V、48V、60V、100V转3.3V、5V、12V,并且能够提供1.…

二十九 超级数据查看器 讲解稿 查询复用

二十九 超级数据查看器 讲解稿 查询复用 ​点击此处 以新页面 打开B站 播放当前教学视频 点击访问app下载页面 百度手机助手 下载地址 大家好,今天我们讲一下超级数据查看器的查询复用功能,这是新版本要增加的功能,这讲是预告。 先介绍…