查看系统中安装的python版本

vagrant@ubuntu-xenial:~$ whereis python
python: /usr/bin/python /usr/bin/python3.6m /usr/bin/python3.6 /usr/bin/python3.5 /usr/bin/python3.6-config /usr/bin/python3.6m-config /usr/bin/python3.5m /usr/lib/python3.7 /usr/lib/python3.6 /usr/lib/python3.5 /usr/lib/python2.7 /usr/lib/python3.8 /etc/python3.6 /etc/python3.5 /usr/local/lib/python3.6 /usr/local/lib/python3.5 /usr/include/python3.6m /usr/include/python3.6 /usr/share/python

默认python版本选择

  1. update-alternatives语法

    vagrant@ubuntu-xenial:~$ update-alternatives --help
    
    用法:update-alternatives [<选项> ...] <命令>
    命令:
     --install <链接> <名称> <路径> <优先级>
       [--slave <链接> <名称> <路径>] ...
                              在系统中加入一组候选项。
     --remove <名称> <路径>   从 <名称> 替换组中去除 <路径> 项。
     --remove-all <名称>      从替换系统中删除 <名称> 替换组。
     --auto <名称>            将 <名称> 的主链接切换到自动模式。
     --display <名称>         显示关于 <名称> 替换组的信息。
     --query <名称>           机器可读版的 --display <名称>.
     --list <名称>            列出 <名称> 替换组中所有的可用候选项。
     --get-selections         列出主要候选项名称以及它们的状态。
     --set-selections         从标准输入中读入候选项的状态。
     --config <名称>          列出 <名称> 替换组中的可选项,并就使用其中哪一个,征询用户的意见。
     --set <名称> <路径>      将 <路径> 设置为 <名称> 的候选项。
     --all                    对所有可选项一一调用 --config 命令。
  2. 更新update-alternatives中python列表

    vagrant@ubuntu-xenial:~$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 1
    vagrant@ubuntu-xenial:~$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2

    第一个参数:- -install表示向update-alternatives注册服务名。

    第二个参数:注册最终地址,成功后将会把命令在这个固定的目的地址做真实命令的软链,以后管理就是管理这个软链;

    第三个参数:服务名,以后管理时以它为关联依据。

    第四个参数:被管理的命令绝对路径。

    第五个参数:在自动模式下,优先级,数字越大优先级越高。

  3. 选择适当版本

    vagrant@ubuntu-xenial:~$ sudo update-alternatives --config python
    There are 2 choices for the alternative python (providing /usr/bin/python).
    
     Selection    Path                Priority   Status
    ------------------------------------------------------------
     0            /usr/bin/python3.5   2         auto mode
     1            /usr/bin/python3.5   2         manual mode
    * 2            /usr/bin/python3.6   1         manual mode  #当前系统使用的版本
  4. 查看python版本

    vagrant@ubuntu-xenial:~$ python
    Python 3.6.9 (default, Apr 18 2020, 01:56:04) 
    [GCC 8.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> exit()
  5. 查看命令链接组的所有信息

    vagrant@ubuntu-xenial:~$ sudo update-alternatives --display python
    python - manual mode
     link best version is /usr/bin/python3.5
     link currently points to /usr/bin/python3.6
     link python is /usr/bin/python
    /usr/bin/python3.5 - priority 2
    /usr/bin/python3.6 - priority 1