一般ubuntu系统会自带两种python版本,默认为较低的版本,但是有时我们移植一些项目工程pip安装时总会出现高版本才能安装的问题,这时我们就需要根据需要来切换python版本了。

首先我们先看一下有没有关于Python的可选项:

$ update-alternatives --display python
update-alternatives: 错误: 无 python 的候选项

那首先先建立python的组,并添加Python2和Python3的可选项

$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2 # 添加Python2可选项,优先级为2
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 1 #添加Python3可选项,优先级为1

注意,这里的 /usr/bin/python 链接文件,两个可选项必须是一样的,这样这个链接文件才可以选择两个不同的可选项去链接。

这时如果我们查看 /usr/bin/python 这个文件时,会发现它已经链接到了 /etc/alternatives/python 。

lrwxrwxrwx 1 root root        24  6月 19 18:39 python -> /etc/alternatives/python
sudo update-alternatives --config python

然后我们再看一下版本

$ python --version
Python 2.7.6

为什么还是Python2,看一下配置:

sudo update-alternatives --config python

有 2 个候选项可用于替换 python (提供 /usr/bin/python)。

 选择                 路径            优先级         状态
* 0            /usr/bin/python2.7      2         自动模式
  1            /usr/bin/python2.7      2         手动模式
  2            /usr/bin/python3.5      1         手动模式
  要维持当前值[*]请按回车键,或者键入选择的编号:

原来是因为默认选中了自动模式,而Python2的优先级高于Python3,这时候只要键入2,就可以使用Python3了。

如果你想要删除某个可选项的话:

$ sudo update-alternatives --remove python /usr/bin/python2.7
update-alternatives只适用于Debian系Liunx。
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐