redhat7.6 默认安装了python2.7.

查看已安装python情况

cd /  # 定位到根目录
whereis python  # 查看python所在目录 /usr/bin cd /usr/bin  # 切到python目录 ll python*  # 查看python开头的相关文件详情

mv python python.bak  #备份原python文件.

安装Python3

为避免因缺少依赖包出各种问题, 请跳过下面的步骤, 先安装文末的依赖包.

# 新建python目录
mkdir /usr/local/python3 # 切换到新建的目录
cd /usr/local/python3 # 下载python3.7安装包
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz # 解压python包
tar -xvf Python-3.7.4.tgz # 切换到目录
cd Python-3.7.4 # 指定python3安装路径 /usr/local/python3Dir
./configure --prefix=/usr/local/python3Dir

make
make install 此时报错了<_>

1. ModuleNotFoundError: No module named '_ctypes' make: *** [install] 错误 1

#因为 缺少libffi-devel依赖, 使用以下命令安装.
yum -y install libffi-devel

安装后重新make install 继续报错.

2. zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] 错误 1

#缺少 zlib* 依赖包.
yum install zlib* -y

3. 后面python3 安装好后, 使用pip时还会报这个错误.

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

# 因为自带的openssl版本比较低, 需要安装高版本的openssl-devel. yum install gcc libffi-devel zlib* openssl-devel

此时 发现 使用 yum 会出现错误.

-bash: /usr/bin/yum: /usr/bin/python: 坏的解释器: 没有那个文件或目录

因为 yum依赖python, 刚才mv python python.bak 更改了文件名所以报错, 改回文件名即可:

cd /usr/bin/

mv python.bak python  # 更改后就可以使用yum安装上面的依赖包了.

#使用yum安装完上面的依赖包后, 务必重新把python名字改回去. 否则后面建立python3连接时候会提示文件已存在报错.
cd /usr/bin/

mv python python.bak
 

重新安装 上面3个依赖包后, 继续.

make clean    # 清理
make # 大概要几分钟
make install # 执行完成不报错就装好了
# 切换到安装目录下的bin目录:
cd /usr/local/python3Dir/bin # 建立连接
ln -s /usr/local/python3Dir/bin/python3 /usr/bin/python # 查看python版本
python -V # 查看python对应详情
ll /usr/bin/python*

到这里 python3 就安装好了.

redhat7.6 安装 Python 3的更多相关文章

  1. 离线安装 Python 2.7, paramiko 和 tornado

    无非就是离线安装, 步骤比较繁琐, 记录一下. 需求很简单, 一个离线安装的 Python, 能跑 tornado 和 paramiko 1. 离线安装 Python 2.7 .tgz cd Pyth ...

  2. 安装Python环境时遇到的问题

    问题描述:An error occurred during the installation of assembly 'Microsoft.VC90.MFC,version="9.0.210 ...

  3. windows下面安装Python和pip终极教程

    在大二的时候接触过一段时间的Python,最近又开始玩起了这门语言.总的来说,个 人很喜欢Python的语言风格,但是这门语言对于windows并不算很友好,因为如果是初学者在windows环境下安装 ...

  4. 安装Python算法库

    安装Python算法库 主要包括用NumPy和SciPy来处理数据,用Matplotlib来实现数据可视化.为了适应处理大规模数据的需求,python在此基础上开发了Scikit-Learn机器学习算 ...

  5. OSX下 pip更新及安装python库

    直接执行安装命令 $ pip install builtwith 提示pip当前版本为7.1.2,要使用"pip install --upgrade pip"升级到8.1.2 $  ...

  6. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  7. windows下安装python模块

    如何在windows下安装python模块 1. 官网下载安装包,比如(pip : https://pypi.python.org/pypi/pip#downloads) pip-9.0.1.tar. ...

  8. 【初学者教程】在电脑上安装Python,写第一个程序

    欢迎来到Python的世界 1.存在Python 2和Python 3两个版本,我该用哪个?如果书是关于2的,下载2:如果书是关于3的,就下载3.建议用Python 3,不过用2也是可以的. 2.下载 ...

  9. 转: windows下面安装Python和pip终极教程

    原文: http://www.cnblogs.com/yuanzm/p/4089856.html 因为如果是初学者在windows环境下安装,简直是折磨人,会遇到各种蛋疼的情况.本文希望提供傻瓜式的教 ...

随机推荐

  1. 【函数分享】每日PHP函数分享(2021-3-1)

    array_filter - 使用回调函数过滤数组的元素 说明 array_filter ( array $array , callable|null $callback = null , int $ ...

  2. 后端程序员之路 12、K最近邻(k-Nearest Neighbour,KNN)分类算法

    K最近邻(k-Nearest Neighbour,KNN)分类算法,是最简单的机器学习算法之一.由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重 ...

  3. Wireguard 全互联模式(full mesh)配置指南

    上篇文章给大家介绍了如何使用 wg-gen-web 来方便快捷地管理 WireGuard 的配置和秘钥,文末埋了两个坑:一个是 WireGuard 的全互联模式(full mesh),另一个是使用 W ...

  4. KDE 桌面不显示背景和状态栏

    在arch的一次更新后,kde的桌面背景,插件,状态栏变成了一片黑,如下图所示. 解决办法:删除/home/stone/.config/plasma-org.kde.plasma.desktop-ap ...

  5. Hi3559板载u-boot、kernel及rootfs烧录过程及心得

    这一篇随笔讲叙述下基于Hi3559AV100的BOXER-8410AI板载u-boot.kernel及rootfs烧录具体过程及遇到问题的解决方法与心得. 1.前期板载启动测试和烧录手段 1.1.烧写 ...

  6. 译文《全新首发JDK 16全部新特性》

    封面:洛小汐 译者:潘潘 JDK 8 的新特性都还没摸透,JDK 16 的新特性就提着刀来了. 郑重申明: 第一次冒险翻译专业领域的文献,可想而知,效果特别糟糕.一般翻译文献特别是 技术专业领域 的内 ...

  7. 翻译:《实用的Python编程》04_01_Class

    目录 | 上一节 (3.6 设计讨论) | 下一节 (4.2 继承) 4.1 类 本节介绍 class 语句以及创建新对象的方式. 面向对象编程(OOP) 面向对象编程是一种将代码组织成对象集合的编程 ...

  8. JavaScript快速上手

    引入JavaScript项目 在html中 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  9. 你真的懂 i++ 和 ++i 吗?

    对于 ++i 和 i++,许多人可能都知道,不就是先加1再取值,和先取值再加1嘛.然而,真的是这样吗?请先看以下4道题,能全部答对可以忽略这篇文章. 题目 // 示例1 int i = 1; i = ...

  10. 主成分分析 | Principal Components Analysis | PCA

    理论 仅仅使用基本的线性代数知识,就可以推导出一种简单的机器学习算法,主成分分析(Principal Components Analysis, PCA). 假设有 $m$ 个点的集合:$\left\{ ...