CentOS 7从Python 2.7升级至Python3.6.1

By Heanny
2017-08-18
5680 read

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

  1. 环境介绍
    CentOS 7,当前的Python版本2.7.12
    >> uname -a
    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
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel Fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
RedHat_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION=“7”

下载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
  1. 编译并安装
>>  mkdir /usr/local/python3
>>  cd Python-3.6.1  #进入源码文件目录
>>  sudo ./configure --prefix=/usr/local/python3 --enable-optimizations
>>  sudo make  # 此过程将持续较长的时间
  1. 替换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的版本是否被正确替换掉了。

  1. 收尾替换工作

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

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

a. /usr/bin/yum

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

  1. 总结

过程比较简单,期待CentOS7尽快升级到Python3。单,期待CentOS7尽快升级到Python3

其他

# 获取pip3
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 
# 获取pip2
https://bootstrap.pypa.io/pip/2.7/get-pip.py 

# 树莓派安装GPIO
pip3 install RPi.GPIO
linux 命令大全
CentOS7.0下,apache不能正常运行的解决思路

Comments

暂无评论,还不快来坐沙发...

Leave a Reply