您的位置:首页 > 运维架构 > Linux

centos7安装Python3.6以及解决yum不能使用问题

2017-06-16 10:53 986 查看
Centos7默认安装了python2.7 因为一些命令要用它比如yum 它使用的是python2.7

下载python3.6的包(目前最新版本是python3.6.1)

在python官网下载地址进行下载.可以使用下面的命令进行下载:

wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz[/code] 
下载之后是一个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,完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos python yum