CentOS 7从Python 2.7升级至Python3.6.1

引言: Centos是目前最为流行的Linux服务器系统,其默认的Python 2.x,但是根据python社区的规划,在不久之后,整个社区将向Python3迁移,且将不在支持Python2, 那该如何平滑迁移至Python3 呢?

1.  环境介绍

   Centos 7,   当前的Python版本2.7.12

  >> uname -a  

[html] view plain copy
 
  1. Linux AY131203102210033c39Z 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux  

  >> cat /etc/os-release

[html] view plain copy
 
  1. NAME="CentOS Linux"  
  2. VERSION="7 (Core)"  
  3. ID="centos"  
  4. ID_LIKE="rhel fedora"  
  5. VERSION_ID="7"  
  6. PRETTY_NAME="CentOS Linux 7 (Core)"  
  7. ANSI_COLOR="0;31"  
  8. CPE_NAME="cpe:/o:centos:centos:7"  
  9. HOME_URL="https://www.centos.org/"  
  10. BUG_REPORT_URL="https://bugs.centos.org/"  
  11.   
  12. CENTOS_MANTISBT_PROJECT="CentOS-7"  
  13. CENTOS_MANTISBT_PROJECT_VERSION="7"  
  14. REDHAT_SUPPORT_PRODUCT="centos"  
  15. REDHAT_SUPPORT_PRODUCT_VERSION="7"  

2. 下载Python 3.x的安装包

   默认Linux的安装包只能是源码安装:

   >>  wget  https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz

   由于xz结尾的文件,故可以使用如下命令来解压:

   >>  xz -d Python-3.6.1.tar.xz

   >> tar xvf Python-3.6.1.tar

3.  编译并安装

    >>  mkdir /usr/local/python3

    >>  cd Python-3.6.1   #进入源码文件目录

    >>  sudo ./configure --prefix=/usr/local/python3 --enable-optimizations

     

    >>  sudo make  # 此过程将持续较长的时间

     

    3.  替换python

     >> cd /usr/bin

     >>  mv python python.bak

       其中有python, python2.7, python2三个文件,其实都是指向python2.7的,这里将python备份

     >> sudo ln -s /usr/local/python3/bin/python3.6 /usr/bin/python

    >> python -V

      检查python的版本是否被正确替换掉了。

4.  收尾替换工作

    原则: 所有python相关的应用,如果为使用/usr/bin/python开头的脚本统统替换掉, 如果其只能在python2.7下执行,则替换为python2.7。

    根据网路上的信息,相关的文件可能有如下, 具体情况视具体情况而定:

    a.  /usr/bin/yum

 b./usr/libexec/urlgrabber-ext-down

   5. 总结

     过程比较简单,期待Centos7尽快升级到Python3.

   转自http://blog.csdn.net/blueheart20/article/details/70062671

原文地址:https://www.cnblogs.com/zhaooyw/p/7991556.html