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. 更新Bash路径的缓存

    ---恢复内容开始--- 1.登陆一个新的vps时候,发现git的版本是1.8的,太久了,于是就源码安装了新的版本2.4. 2.老版本在/usr/bin/git,新版本安装的/usr/local/bi ...

  2. 设置phpcms v9黄页模块作为首页方法

    如果我们根据需要,想把黄页作为单独的网站,我们可以用模块化安装,并且首页设置,那么仿站网就说说详细的步骤.首先,我们需要安装最新版本的phpcms V9其次,下载黄页模块,然后进行根目录的替换.再次, ...

  3. lua 小技巧

    lua 小技巧 把常用的工具函数添加到 _G 里面,所有的文件都可以直接调用: ``` lua -- 在 a 文件中将工具函数添加到 _G: _G.IsEmptyStr = function(str) ...

  4. GEEK学习笔记— —程序猿面试宝典笔记(二)

    所谓笔记,就是比較个人的东西,把个人认为有点意思的东西记录下来~~ 程序猿面试宝典笔记(一)基本概念 程序猿面试宝典笔记(二)预处理.const和sizeof 程序猿面试宝典笔记(三)auto_ptr ...

  5. MySql Int 类型和 varchar类型进行比较。

    今天遇到个比较奇葩的问题,简单讲就是在Mysql中进行查询的时候 在Where语句中使用的int类型的字段和Varchar类型的字段进行对比. 例如:我这有一张表: 表中的数据如下: 当我进行查询的时 ...

  6. Dubbo—Zookeeper的典型应用

    1.Zookeeper 作为 Hadoop 项目中的一个子项目,是 Hadoop 集群管理的一个必不可少的模块,它主要用来控制集群中的数据,如它管理 Hadoop 集群中的 NameNode,还有 H ...

  7. 把查询到结果合并放在一行 JOIN非union

    select one.max,one.min,one.low sts,c.high ens,one.time from ( select a.max max,a.min min,b.low low,a ...

  8. 马尔科夫毯(Markov Blanket)

    最优特征子集:选出特征的子集,能够比较准确的代表原来的特征.马尔科夫毯(MB)是贝叶斯网络(BN)的最有特征子集. 推测贝叶斯网络的网络结构是NP问题.贝叶斯网络中一个节点T的马尔科夫毯是其父节点,子 ...

  9. json中的日期格式转换(扩展new date()显示格式)

    在java  spring mvc 开发过程中,通过json 格式,向前端传递数据,日期格式发生了转变, 在前台数据展示时,要进行一定格式的转换才能正常显示: 我在开发中使用了easy ui 和my ...

  10. c# 实现遍历 DataTable 和DataSet (简单的方式)

    今天 做一个小程序 ,遇到了这样一个 问题就是 怎样简单的 遍历一个 DataTable 一. DataTable table= DBhelper.GetDataTable(str);foreach( ...