CentOS 7中实现Python 3.6与2.7共存及版本切换

77 篇文章 4 订阅
74 篇文章 11 订阅

貌似目前大多数Linux发行版本中自带的Python还都是2.7.x系列,但是越来越多的包包都开始抛弃2.7.x版本了,记录一下在CentOS 7中安装Python 3.6实现与自带2.7两个版本共存并可以自由切换

1.安装Python 3.6和pip

先添加阿里云镜像站的EPEL仓库,然后一键傻瓜yum走起

# cd /etc/yum.repo.d/
# curl -o epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
# yum install -y python36 python36-setuptools

2.update-alternatives分别安装两个版本的python和pip

# alternatives --install /usr/bin/python python /usr/bin/python2.7 1
# alternatives --install /usr/bin/python python /usr/bin/python3.6 2
# mv /usr/bin/pip /usr/bin/pip.bak    //原有的pip不是软连接,先把它干掉
# alternatives --install /usr/bin/pip pip /usr/bin/pip2.7 1
# alternatives --install /usr/bin/pip pip /usr/local/bin/pip3.6 2

检查一下设置是否生效

# alternatives --display python
python - status is auto.
 link currently points to /usr/bin/python3.6
/usr/bin/python2.7 - priority 1
/usr/bin/python3.6 - priority 2
Current `best' version is /usr/bin/python3.6.

3.切换Python和pip版本

# alternatives --config python

There are 2 programs which provide 'python'.

  Selection    Command
-----------------------------------------------
   1           /usr/bin/python2.7
*+ 2           /usr/bin/python3.6

Enter to keep the current selection[+], or type selection number:

# alternatives --config pip

在这里输入对应版本的序号就可以完成一键切换了~

4.后续yum问题

当切换成Python3以后发现yum命令不能用了,一执行就会报错:

# yum
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

这是因为系统yum命令使用的还需要使用Python2,分别修改/usr/libexec/urlgrabber-ext-down和/usr/bin/yum文件

# vi /usr/libexec/urlgrabber-ext-down
# vi /usr/bin/yum
首行的#! /usr/bin/python
都改为#! /usr/bin/python2.7

这样在切换到Python3.6以后也可以正常使用yum了

5.firewall-cmd也需要手工设置一下

# vim /usr/bin/firewall-cmd

首行改为
#!/usr/bin/python2.7 -Es

6.补充知识点

貌似CentOS7里面使用yum install python36后内置的就有pip,但是调用的时候不能直接pip install xxx这种写法,得这样写:

# python -m pip install [Package_to_install]
这里需要将python切换到3.6以后再执行

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DexterLien

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值