Centos7默认安装了python2.7 因为一些命令要用它比如yum,它使用的是python2.7。
下载python3.6的包(目前最新版本是python3.6.1)
在Python官网下载地址进行下载(https://www.python.org/downloads/release/python-361/).可以使用下面的命令进行下载:
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
下载之后是一个python-3.6.1.tar.xz文件 (这个是pthon的源码)
解压文件
tar -xf Python-3.6.1.tgz
解压之后有一个目录Python-3.6.1,进入目录
cd Python-3.6.1
开始安装,使用编译的方法进行安装
在python的目录中有一个README文件,他介绍了如何安装python。 --prefix=/usr/python3.6意思是指定python3安装路径
mkdir /usr/python3.6
./configure --prefix=/usr/python3.6
make
make install
说明./configure命令执行完毕之后创建一个文件creating Makefile,供下面的make命令使用 执行make install之后就会把程序安装到我们指定的目录中去
让系统默认使用Python 3.6.1
在/usr/bin中有python、python2、python2.7三个文件依次指向后者,我们将python备份
cd /usr/bin
mv python python.bak
ln -s /usr/python3.6/bin/python3 /usr/bin/python
注意我们编译安装之后在/usr/python3.6/bin下会自动生成一个python3的连接,他指向bin目录中的python3.6.
修改yum文件
因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.7. 因此修改yum配置文件
sudo vim /usr/bin/yum
把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可.
但是,只是修改这些可能还不够,在我进行yum安装的时候,显示如下错误:
[root@centos-512mb-sfo2-01 ~]# yum install git
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.keystealth.org
* elrepo: repos.lax-noc.com
* epel: mirror.sjc02.svwh.net
* extras: linux.mirrors.es.net
* remi-safe: mirror.bebout.net
* updates: mirrors.sonic.net
* webtatic: us-east.repo.webtatic.com
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
既然显示/usr/libexec/urlgrabber-ext-down错误,那就打开/usr/libexec/urlgrabber-ext-down看看,发下他也使用了/usr/bin/python,于是跟前面一样,改为2.7,完成。