CentOS 7 默认的python版本是python2.7.5。因为yum依赖于默认的python版本的缘由,所以要先保留默认版本,并修改yum文件头部后,才能开始安装更新python2和python3两个最新版本。(python2和python3共存)

一. 保留默认python版本2.7.5,并修改yum头部,保持yum对默认版本python2.7.5的依赖

1.su root  # 获取root权限

2.mv /usr/bin/python2.7 /usr/bin/python2.7.5  # 保留默认版本python为python2.7.5

 ln -s /usr/bin/python2.7.5 /usr/local/bin/python2.7.5  # 创建软连接

3.ll /usr/bin/yum*  # 查看/usr/bin/目录下所有yum文件(7个)头部

4.vi /usr/bin/yum*  # 修改/usr/bin/目录下所有yum文件(7个)头部

  #!/usr/bin/python —> #!/usr/bin/python2.7.5  

5.vi /usr/libexec/urlgrabber-ext-down  # 修改/usr/libexec/目录下 urlgrabber-ext-down头部

  #!/usr/bin/python —> #!/usr/bin/python2.7.5

二. 安装最新版python2.7.13和python3.6.2(python2和python3共存,修改后默认版本为python3.6.2)

准备工作:

1. 安装wget命令(可以在线下载安装包的命令)

  yum -y install wget

2. 准备编译环境

  yum groupinstall 'Development Tools'
  yum install zlib-devel bzip2-devel openssl-devel ncurses-devel
3. 下载并安装最新版本的python2和python3的tgz压缩文件

  https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
  https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

开始安装:

1. 进入下载目录:

  cd /usr/local/src

2. 下载并安装最新版本python2:
  wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
  tar zxvf Python-2.7.13.tgz
  cd Python-2.7.13
  ./configure 
  make all
  make install
  make clean
  make distclean
  rm -rf /usr/bin/python
  rm -rf /usr/bin/python2
  rm -rf /usr/bin/python2.7
  ln -s /usr/local/bin/python2.7 /usr/bin/python
  ln -s /usr/local/bin/python2.7 /usr/bin/python2
  ln -s /usr/local/bin/python2.7 /usr/bin/python2.7
  /usr/bin/python -V
  /usr/bin/python2 -V
  /usr/bin/python2.7 -V
  rm -rf /usr/local/bin/python
  rm -rf /usr/local/bin/python2
  ln -s /usr/local/bin/python2.7 /usr/local/bin/python
  ln -s /usr/local/bin/python2.7 /usr/local/bin/python2
  python -V
  python2 -V
  python2.7 -V

3. 下载并安装最新版本python3:
  wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
  tar zxvf Python-3.6.2.tgz
  cd Python-3.6.2
  ./configure
  make all
  make install
  make clean
  make distclean
  rm -rf /usr/bin/python
  rm -rf /usr/bin/python3
  rm -rf /usr/bin/python3.6
  ln -s /usr/local/bin/python3.6 /usr/bin/python
  ln -s /usr/local/bin/python3.6 /usr/bin/python3
  ln -s /usr/local/bin/python3.6 /usr/bin/python3.6
  /usr/bin/python -V
  /usr/bin/python3 -V
  /usr/bin/python3.6 -V
  rm -rf /usr/local/bin/python
  rm -rf /usr/local/bin/python3
  ln -s /usr/local/bin/python3.6 /usr/local/bin/python
  ln -s /usr/local/bin/python3.6 /usr/local/bin/python3
  python -V
  python3 -V
  python3.6 -V

转载自:CentOS7保留默认Python版本并安装更新Python2和Python3共存

CentOS7保留默认Python版本并安装更新Python2和Python3共存的更多相关文章

  1. python解释器的安装;python2与python3同时在环境变量中时的解决方案

    新文档 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,addres ...

  2. ubuntu配置默认python版本并安装pip

    ubuntu 16.04本身是自带python的,他本身是自带2.X和3.X,两个版本,默认的是2.X.这里记录一下如果在版本间切换以及如何把python版本切换到3.X下的方法. 1.查看Ubunt ...

  3. python版本坑:md5例子(python2与python3中md5区别)

    对于一些字符,python2和python3的md5加密出来是不一样的. Python2 和Python3MD5加密 # python2.7 pwd = "xxx" + chr(1 ...

  4. python2 和 python3共存的常见使用(如安装虚拟环境的问题)

    1.安装好python2和python3,配置好全部环境变量 环境变量修改后,需要重新启动命令行才有效 2.如何启动不同版本的python 启动的时候会执行python.exe,python2和pyt ...

  5. Debian中如何切换默认Python版本

    当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件,你可以按照以下方法使用 ls 命令来查看你的系 ...

  6. 更改Ubuntu默认python版本的方法

    当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.一般Ubuntu默认的Python版本都为2. ...

  7. 更改Ubuntu默认python版本的两种方法python-> Anaconda

    当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.一般Ubuntu默认的Python版本都为2. ...

  8. 更改 Ubuntu默认Python版本的问题

    一般Ubuntu默认版本为2.x,之前运行一些程序,将默认版本修改为3.5,现在想修改为2.7. 之前的方法有些忘记,现在重新记录一下: 1.查看你系统中有哪些Python的二进制文件可供使用, ls ...

  9. Ubuntu如何修改默认python版本为python3

    修改默认python版本 Ubuntu系统内置python2.7版本,默认运行python就是运行python2.7.现在很多人都是用python3作为开发语言,我们需要修改python的默认版本为p ...

随机推荐

  1. 文件指针/句柄(FILE*)、文件描述符(fd)以及 文件路径(filepath)的相互转换(转)

    转自: http://blog.csdn.net/jenghau/article/details/5532265 文件指针/句柄(FILE*).文件描述符(fd)以及 文件路径(filepath)的相 ...

  2. 使用Nginx Lua实现redis高性能http接口

    使用Nginx Lua实现redis高性能http接口 时间 -- :: 峰云就她了 原文 http://xiaorui.cc/2015/01/27/使用nginx-lua实现redis高性能http ...

  3. eclipse配置代码自动补全auto-completion

    你如果使用的是JAVA EE的模式,就这样配置: 1. Window>Preferences>Java>Editor>Content Assist>Auto Activa ...

  4. make——五谷杂粮

  5. mysql查询条件字段值末尾有空格的问题

    mark MYSQL的binary解决mysql数据大小写敏感问题的方法

  6. jQuery 实战读书笔记之第六章:事件本质

    理解浏览器事件模型 understandEventModel.html 代码: <!DOCTYPE HTML> <html> <head> <title> ...

  7. Memcached集群:Magent缓存代理使用

    小结: 先启动memcached 然后启动magent memcached -d -p 11211 -u memcached -m 64 -c 5120 memcached -d -p 11212 - ...

  8. MVC模式中M,V,C每个代表意义,并简述在Struts中MVC的表现方式。

    解答: MVC是Model-View-Controller 的缩写,Model代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),View 是应用的表示层(由JSP页面产生)Control ...

  9. 简要描述如何结合struts、hibernate、spring开发Web应用?

    简要描述如何结合struts.hibernate.spring开发Web应用? 解答:Struts可以将jsp页面的表单关联起来,就是把JSP页面的表单数据封装成javaBean,这样的话,在acti ...

  10. linux驱动开发---导出内核符号

    导出内核符号模板代码,验证小实例: /** *Copyright (c) 2013.TianYuan *All rights reserved. * *文件名称: Esdexp.c *文件标识: 导出 ...