一、确认当前python版本

[root@centos Python-3.6.1]# python
Python 2.7.5 (default, Nov 6 2016, 00:28:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

以上输出Python 2.7.5表示当前版本,因为yum使用的是Python2.7因此不能删除,所以只能重新安装一个替换版本。
输入以下命令查看目前系统使用的Python以及安装目录,接下来将要对该目录下的Python进行修改

[root@centos ~]# which python
/usr/bin/python
[root@centos ~]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root 7 May 30 05:52 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root 9 May 30 05:52 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 Nov 6 2016 /usr/bin/python2.7

二、下载安装

下载插件

根据官网提示,在centos下安装python3版本需要提前安装如下插件:
yum install gcc openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel -y

下载python

切换到/root/Downloads/目录,下载最新的3.7版本python

[root@localhost Downloads]# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0a1.tgz

解压安装包并迁移至/usr/local

[root@localhost Downloads]# tar -zxvf Python-3.7.0a1.tgz
[root@localhost Downloads]# mv Python-3.7.0a1 /usr/local

[root@localhost Downloads]# cd /usr/local/

创建Python3目录,以免覆盖Python2

[root@localhost Downloads]# mkdir python3

[root@localhost Downloads]# cd Python-3.7.0a1/

[root@localhost Python-3.7.0a1]# ./configure --prefix=/usr/local/python3

确认无误后,执行编译

[root@localhost Python-3.7.0a1]# make

确认无误后,执行编译安装

[root@localhost Python-3.7.0a1]# make install

此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字
mv /usr/bin/python /usr/bin/old_python
  
再建立新版本python的链接
ln -s /usr/local/python3/bin/python3  /usr/bin/python

查看版本,直接输入python -V

四、解决升级Python后yum不能用的问题

1、 升级Python后运行yum会报错

vi /user/bin/yum 编辑yum的执行文件,更改首行的/usr/bin/python 为上面重命名的名字或/usr/bin/目录下指向Python2.7的名字,之后再运行yum就正常了

 
 
 

Centos7 安装python3详细教程,解决升级后不兼容问题的更多相关文章

  1. 转载: Centos7 升级python3,解决升级后不兼容问题

    Centos7配置更新国内yum源 http://blog.csdn.net/qingguiyu/article/details/50721956 Centos7 升级python3,解决升级后不兼容 ...

  2. Centos7安装Typecho详细教程

    Centos7安装Typecho详细教程   首先搭建LAMPH环境 L linux 服务器(centos或者ubunt) .A Apache .M mysql .P PHP 安装Apache.PHP ...

  3. centos7 安装python3 小白教程-CV大法

    安装python3 centos7,默认系统自带python2.7的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何 ...

  4. Centos7安装RabbitMQ详细教程

    MQ引言 什么是MQ MQ:message Queue翻译为消息队列,通过典型的生产者和消费者模型不断向消息队列中生产消息,消费者不断从队列中获取消息.因为消息的生产和消费都是一部的,而且只关心消息的 ...

  5. centos7安装wordpress详细教程

    安装之前:建议安装各种软件 [root@localhost ~]# yum -y install wget zip unzip net-tools 一.安装apache 测试环境建议关闭防火墙和SEL ...

  6. centos7安装puppet详细教程(简单易懂,小白也可以看懂的教程)

    简介: Puppet是一种linux.unix平台的集中配置管理系统,使用ruby语言,可配置文件.用户.cron任务.软件包.系统服务等.Puppet把这些系统实体称之为资源,它的设计目标是简化对这 ...

  7. 解决Centos7安装python3后pip工具无法使用

    问题描述: Centos7安装python3,正常流程全部配置完成,python3,pip3的软链接也建立了 但是python3可以正常使用,而pip3报错,无法找到文件或目录 解决方法: which ...

  8. Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim

    一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...

  9. CentOS7 安装Python3,开发SocketIO 客户端

    CentOS7安装Python3,开发SocketIO 客户端 参考:https://blog.csdn.net/lovefengruoqing/article/details/79284573 步骤 ...

随机推荐

  1. mybatis(错误) 项目启动时报“Result Maps collection already contains value forxxx”的解决方案

    使用逆向工程生成代码时,一定要将原来的代码删除干净,如果覆盖的话,不是真正的覆盖,在原来的代码上增加重复的代码,导致出错

  2. auth_basic 认证

    shell > yum -y install httpd-tools # 安装 htpasswd 工具 shell > cd /usr/local/nginx-/conf shell &g ...

  3. 关于Pre-bound JDBC Connection found! HibernateTransactionManager does not 异常小结

    昨天帮女朋友配置ssh框架的多数据源, 本以为对此已经很熟悉,配置完其他的错倒是还能接受,调了一下就好了.  唯独 Pre-bound JDBC Connection found! Hibernate ...

  4. SpringBoot 2.x (12):整合Elasticsearch

    Elasticsearch:一个优秀的搜索引擎框架 搜索方面最基本的是SQL的like语句 进一步的有Lucene框架 后来有企业级的Solr框架 而Elasticsearch框架尤其适合于数据量特别 ...

  5. 在switch中的case语句中声明变量会被提前

    原文链接:http://my.oschina.net/u/2000201/blog/514384 本人今天在编写工具类时,无意之间发现,在Java的Swith语句的case语句中声明局部变量时出现了一 ...

  6. Android中的Selector的使用总结

    Android中的Selector主要是用来改变ListView和Button控件等其他空的默认背景,其使用方法可以如下所示: 1.首先在res目录下drawable文件夹,新建一个comm_butt ...

  7. XML文件的解析和序列化

    序列化: private void createXml() { XmlSerializer serializer = Xml.newSerializer();// xml文件生成器 File file ...

  8. input禁止显示用户输入历史记录

    input标签中加上属性autocomplete="off"

  9. 【cpp】new delete

    double *M = new double[2*num]; double *T = new double[2 * num]; double *activeM = new double[2 * num ...

  10. poj1142Smith Numbers质因子分解

    题意:一个数不是质数,其质因子的每位加起来等于该数的每位加起来. /* 题意:一个数的所有质因子的每位相加起来等于该数的每位相加起来且该数不能是质数,那么就是史密斯数 tip:对于分解质因子,只需要判 ...