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. python字符串操作,以及对应的C#实现

    --IndexOf-- python: inx = str.find("aa") c#: var inx = str.IndexOf("aa"); --Last ...

  2. JS高程3:Ajax与Comet-进度事件、跨源资源共享

    有以下 6 个进度事件  loadstart:在接收到响应数据的第一个字节时触发.  progress:在接收响应期间持续不断地触发.  error:在请求发生错误时触发.  abort:在因 ...

  3. vue天坑系列

    vue运行四元素:main.js+router/index.js+index.html+App.vue缺一不可:

  4. PBOC联机交易中ARQC及ARPC的计算

    金融IC卡在申请联机交易时,终端会进行发卡行认证,验证卡片的合法性,终端通过GAC得到卡片返回的ARQC,与终端自身产生的ARQC进行比较,如果一致,则说明是由发卡行发行的合法卡片,同时对ARQC及认 ...

  5. ZABBIX监控原理

    zabbix实现原理及架构详解   想要用好zabbix进行监控,那么我们首要需要了解下zabbix这个软件的实现原理及它的架构.建议多阅读官方文档. 一.总体上zabbix的整体架构如下图所示: 重 ...

  6. python+pandas+openpyxl下载xls illegalCharacterError

    仅仅是urllib2.unquote_plus解码是不够的,需要将特殊字符去掉 ILLEGAL_CHARACTERS_RE = re.compile(r'[\000-\010]|[\013-\014] ...

  7. 【转】MYSQL 存储过程定时操作数据库

    这个涉及2个步骤,第一个就是建立存储过程: create procedure clear_table() begin drop database XXX end 第二步就是让其定时运行: 查看even ...

  8. hibernate中的java对象有几种状态,其相互关系如何(区别和相互转换)。

    hibernate中的java对象有几种状态,其相互关系如何(区别和相互转换). 解答:在Hibernate中,对象有三种状态:临时状态.持久状态和游离状态. 临时状态:当new一个实体对象后,这个对 ...

  9. Openstack(Kilo)安装系列之Keystone(三)

    安装配置 Before you configure the OpenStack Identity service, you must create a database and an administ ...

  10. vi 的使用,很详细

    来源:鸟哥的Linux私房菜 网址:http://vbird.dic.ksu.edu.tw/linux_basic/0310vi_2.php