linux上python3的安装
我这里使用的时centos7-mini,centos系统本身默认安装有python2.x,版本x根据不同版本系统有所不同,可通过 python --V 或 python --version 查看系统自带的python版本
有一些系统命令时需要用到python2,不能卸载。下面介绍python3的安装步骤:
一、源码包下载
下载地址:https://www.python.org/downloads/source/
选择linux/unix那个平台,然后下载python3最近的包。

下载下的包为tgz格式。
【前提,安装好依赖包】
1、安装依赖包
1)首先安装gcc编译器,gcc有些系统版本已经默认安装,通过 gcc --version 查看,没安装的先安装gcc,yum -y install gcc
2)安装其它依赖包,(注:不要缺少,否则有可能安装python出错,python3.7.0以下的版本可不装 libffi-devel )
#yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
不安装依赖包,会出现各种报错问题。
二、解压
在进行解压之前先创建一个解压目录,存放python3程序:
# mkdir /usr/local/bin/python3
接着把刚才下载的Python3.7.3安装包解压在该目录下:
# tar -zxvf Python-3.7.3.tgz
三、配置编译安装
先创建一个存放python3安装程序的目录
#mkdir -p /usr/local/python3
先进入到刚才解压的目录:
# cd Python-3.7.3
然后配置一下安装目录,安装到我们刚刚创建的目录 /usr/local/python3 里,这样做的好处是下次想卸载软件直接卸载该目录下的就可以了:
#./configure --prefix=/usr/local/python3
接着编译一下:
#make
最后就是安装了:
#make install
忽略下面的问题,都是因为依赖包的问题..................
>>>>>>问题1、编译安装出现如下问题

解决办法:
# yum -y install zlib* 先安装zlib相关依赖包
# vi Modules/Setup
找到下面这句,去掉注释 ,然后再次编译安装。
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

>>>>>>问题2、再次编译安装,又遇到问题

报错 ModuleNotFoundError: No module named '_ctypes',其实是缺少了一个新需要的开发包libffi-devel,安装后即可
# yum install libffi-devel -y (包在base)
四、建立软连接
#ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
#ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
五、测试一下python3是否可以用
#python3 如下图则安装成功

六、安装pip
这里不用安装pip,python3中bin下面自带pip3.
linux上python3的安装的更多相关文章
- Linux上python3的安装和使用
centos7默认是装有python的,咱们先看一下 #检查python版本 [root@oldboy_python ~ 17:23:54]#python -V Python 2.7.5 但是 pyt ...
- 【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)
RAC在LINUX上使用NFS安装前准备(六) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇 ...
- 怎么在Linux上下载并安装ESET NOD32 Antivirus 4桌面版
转自:怎么在Linux上下载并安装ESET NOD32 Antivirus 4桌面版 下载并安装ESET NOD32 Antivirus 4的Linux桌面版,根据下面的步骤一步一步的来: I. 下 ...
- CentOS7上Python3.5安装
CentOS7上Python3.5安装 1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. yum in ...
- JProfiler远程监控Linux上Tomcat的安装过程细讲(步骤非常详细!!!)
JProfiler远程监控Linux上Tomcat的安装过程细讲(步骤非常详细!!!) 1.文件准备: 服务器:CentOS Linux release 7.3.1611 (Core) Apa ...
- 转载:【Oracle 集群】RAC知识图文详细教程(六)--RAC在LINUX上使用NFS安装前准备
文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...
- Linux上用mvn安装node.js
Linux上用mvn安装node.js 上一篇blog简略的讲了ubuntu系统的安装,接下来讲讲Ubuntu上的基于node.js的web开发环境的搭建. Node在快速构建网络服务有着极大的优势, ...
- 大数据学习——Linux上常用软件安装
4.1 Linux系统软件安装方式 Linux上的软件安装有以下几种常见方式: 1.二进制发布包 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 2.RPM发布包 软件已经按照redhat的 ...
- Windows 和 Linux 上Redis的安装守护进程配置
# Windows 和 Linux 上Redis的安装守护进程配置 Redis 简介 Redis是目前最常用的非关系型数据库(NOSql)之一,常以Key-Value的形式存储.Redis读写速度 ...
随机推荐
- Python 学习笔记:Python 使用 pandas 读取数据库并进行绘图
上次写了在 Python 怎么使用 mssql 库来对 SQL Server 数据库进行增删查改,今天就写一下 Python 如何通过 pandas 来读取数据库并进行绘图. 一.读取数据库: 利用 ...
- 一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性
自定义异常类:FormattedDbEntityValidationException public class FormattedDbEntityValidationException : Exce ...
- linux 离线安装mysql7或者8
安装方式:官网下载压缩包进行安装 1.下载jdk8 登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-download ...
- Python笔记_第四篇_高阶编程_进程、线程、协程_3.进程vs线程
1.多任务的实现原理: 通常我们会设计Mater-Workder模式,Master负责分配任务,Worker负责执行任务,因此多任务环境下,通常是一个Master,多个Worker 2.多进程: 主进 ...
- LaunchPad(思维)
链接:https://ac.nowcoder.com/acm/contest/3665/D来源:牛客网 题目描述 Hery is a boy with strong practical abiliti ...
- 第4章 ZK基本特性与基于Linux的ZK客户端命令行学习
第4章 ZK基本特性与基于Linux的ZK客户端命令行学习 4-1 zookeeper常用命令行操作 4-2 session的基本原理与create命令的使用
- 黑马IDEA版javaweb_2-2MySQL
今日内容 数据库的基本概念 MySQL数据库软件 安装 卸载 配置 SQL 数据库的基本概念 1. 数据库的英文单词: DataBase 简称 : DB 2. 什么数据库? * 用于存储和管理数据的仓 ...
- JAVA多线程之状态转换图
线程状态转换图如下: 1.新建(new):线程对象被创建后就进入了新建状态.如:Thread thread = new Thread(); 2.就绪状态(Runnable):也被称为“可执行状态”.线 ...
- UML-如何进行对象设计?
之前的章节,学过了OOA,以及交互图+类图.本章主要讲述OOD.OOD就是面向对象设计,那如何进行对象设计? 概览 1.输入制品 注:这些制品并非都必要. 2.活动 1).针对输入的制品,采用什么样的 ...
- 关于maven的使用总结
maven介绍 项目构建过程 eclipse只是开发工具,虽然提供了创建.编码.编译.测试.运行等功能,但并不是项目构建工具. 项目构建主要过程如下: 实际的项目构建过程要复杂繁琐的多.如果是一个独立 ...