我这里使用的时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

  1. 找到下面这句,去掉注释 ,然后再次编译安装。

  2. #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的安装的更多相关文章

  1. Linux上python3的安装和使用

    centos7默认是装有python的,咱们先看一下 #检查python版本 [root@oldboy_python ~ 17:23:54]#python -V Python 2.7.5 但是 pyt ...

  2. 【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)

    RAC在LINUX上使用NFS安装前准备(六) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇 ...

  3. 怎么在Linux上下载并安装ESET NOD32 Antivirus 4桌面版

    转自:怎么在Linux上下载并安装ESET NOD32 Antivirus 4桌面版 下载并安装ESET NOD32 Antivirus 4的Linux桌面版,根据下面的步骤一步一步的来: I.  下 ...

  4. 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 ...

  5. JProfiler远程监控Linux上Tomcat的安装过程细讲(步骤非常详细!!!)

    JProfiler远程监控Linux上Tomcat的安装过程细讲(步骤非常详细!!!) 1.文件准备: 服务器:CentOS Linux release 7.3.1611 (Core)     Apa ...

  6. 转载:【Oracle 集群】RAC知识图文详细教程(六)--RAC在LINUX上使用NFS安装前准备

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  7. Linux上用mvn安装node.js

    Linux上用mvn安装node.js 上一篇blog简略的讲了ubuntu系统的安装,接下来讲讲Ubuntu上的基于node.js的web开发环境的搭建. Node在快速构建网络服务有着极大的优势, ...

  8. 大数据学习——Linux上常用软件安装

    4.1 Linux系统软件安装方式 Linux上的软件安装有以下几种常见方式: 1.二进制发布包 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 2.RPM发布包 软件已经按照redhat的 ...

  9. Windows 和 Linux 上Redis的安装守护进程配置

    # Windows 和 Linux 上Redis的安装守护进程配置 Redis 简介 ​ Redis是目前最常用的非关系型数据库(NOSql)之一,常以Key-Value的形式存储.Redis读写速度 ...

随机推荐

  1. house_cat 's blog

    本人蒟蒻,ACM退役选手 可能会刷刷CF,写一下笔记,学一点JAVA 欢迎指正:QQ:1468580561 不要忘记努力,不要辜负自己

  2. 基于JWT的token认证机制

    1. 一个JWT实际上就是一个字符串,由三部分组成 头部,载荷,签名 头部:事描述类型,签名,算法等 可以被表示成一个JSON对象 载荷:存放有效信息的地方 包含三个部分 (1)标准注册中的声明-建议 ...

  3. int preg_match( string pattern

    preg_match -- 进行正则表达式匹配.并且只匹配一次,注意与preg_match_all区别. int preg_match( string pattern, string subject ...

  4. selenium滚动条应用,爬永远讲不完的故事

    from selenium import webdriver class Lj(object): def __init__(self): self.driver = webdriver.Chrome( ...

  5. Single设计模式

    JavaSE基础中学习的single设计模式复习: * 单列设计模式概念理解:用程序实现在存储中只能有一个对象. *  * 恶汉式实现思路分析: * 1.如何实现类不能被其他人多次创建呢? * 实现: ...

  6. ZJNU 2136 - 会长的正方形

    对于n*m网格 取min(n,m)作为最大的正方形边长 则答案可以表示成 s=1~min(n,m) 对于一个s*s的正方形 用oblq数组储存有多少四个角都在这个正方形边上的正方形 以4*4为例 除了 ...

  7. placeholder在IE下的兼容问题

    最近写项目要求兼容到ie8,写完了去ie测试的时候,发现了placeholder在ie下的兼容问题,为了解决,搜罗网上各种牛人的解决方案,自己总结如下: css样式(设置各浏览器下placeholde ...

  8. 可视化---matplotlib

    中文乱码 # 解决matplotlib显示中文问题 # 指定默认字体 plt.rcParams[font.sans-serif]=['SimHei'] # 解决保存图像是负号'-'显示为方块的问题 p ...

  9. Vue 项目中应用

    Vue使用 一.vue生命周期 # main.js import Vue from 'vue' import App from './App.vue' import router from './ro ...

  10. 反射(hasattr和setattr和delattr)

    反射(hasattr和setattr和delattr) 一.反射在类中的使用 反射就是通过字符串来操作类或者对象的属性, 反射本质就是在使用内置函数,其中反射有以下四个内置函数: hasattr:通过 ...