代码之家  ›  专栏  ›  技术社区  ›  RTC222

如何设置默认的Python版本,而不使用--更新替代方案

  •  0
  • RTC222  · 技术社区  · 4 年前

    我有蟒蛇。6和蟒蛇3。8安装在Ubuntu 18.04上。当我执行python3-V时,我得到了python3。8.0,这是正确的。这是我目前默认的Python。

    我在安装Python3时使用了Ubuntu18.04软件包存储库。6和蟒蛇3。我刚造了蟒蛇。10,我现在想把它设为默认值。规范的变更方式是使用--更新替代方案,但我在安装Python3时没有这样做。6和蟒蛇3。8.所以当我执行时:

    update-alternatives --query python
    update-alternatives: error: no alternatives for python
    

    蟒蛇3。8在/usr/bin/python3中。8和蟒蛇3。10在/usr/local/bin/python3中。10

    根据我在网上看到的,我应该这样做:

    $ sudo update-alternatives --install /usr/local/bin/python python /usr/bin/python3.8
    $ sudo update-alternatives --install /usr/local/bin/python python /usr/local/bin/python3.10  
    

    然后,我用sudo update alternatives选择默认值——config python。

    因为我目前没有任何选择,但我不知何故能够从Python3切换。6到蟒蛇3。8(我不记得怎么做),上面的命令会导致任何问题吗?3.8(/usr/bin/)与3.10(/usr/local/bin/)的不同位置是否存在问题,以及3.10的符号链接将对其已位于的/usr/local/bin/产生什么影响。

    当然我可以试一下,但如果有问题,我不知道如果出了问题该如何解决。我在网上得到了很多不同的信息。

    谢谢你的帮助。

    0 回复  |  直到 4 年前
        1
  •  0
  •   RTC222    4 年前

    我已经回答了我自己的问题。首先,我确实有其他选择,但由于Ubuntu默认为Python2(请Ubuntu改变这一点——世界已经改变了),命令是sudo update alternations--config python3:

    $ sudo update-alternatives --config python3
    There are 2 choices for the alternative python3 (providing /usr/bin/python3).
    
      Selection    Path                Priority   Status
    ------------------------------------------------------------
    * 0            /usr/bin/python3.8   2         auto mode
      1            /usr/bin/python3.6   1         manual mode
      2            /usr/bin/python3.8   2         manual mode
    

    注意行“提供/usr/bin/python3”这意味着Python 3的Python符号链接位于/usr/bin/python3中。所以我加了一个新的:

    sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.10 3
    

    这使得Python3.10优先级为3,是最高优先级。然后:

    $ python3 --version
    Python 3.10.0   
    

    我希望这对将来的人有所帮助。