在Linux中(Windows上的Ubuntu),如何永久更改默认的Python3版本

4
我正在使用Windows 11 v2004.2022.10上的Ubuntu WSL2,并且已经安装了Python 3.8和3.9。我想将3.9版本设置为默认版本,如果有必要,我也可以完全删除Python 3.8。
如果我在Ubuntu中键入python --version,我会得到Python 3.8.10
我尝试了以下操作:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 0

如果我输入 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.9   1         auto mode
  1            /usr/bin/python3.8   0         manual mode
  2            /usr/bin/python3.9   1         manual mode

然而,如果我再次输入python3 --version,它仍然显示Python 3.8.10。
我尝试了sudo update-alternatives --remove python /usr/bin/python3.8,现在sudo update-alternatives --config python告诉我:There is only one alternative in link group python (providing /usr/bin/python): /usr/bin/python3.9 Nothing to configure.
然而,python3 --version仍然显示Python 3.8.10。
我还尝试了sudo update-alternatives --set python /usr/bin/python3.9,但也没有奏效。
这个命令可以解决问题:alias python='/usr/bin/python3.9',现在python3 --version是Python 3.9.5 - 但只是暂时的,在关闭和重新打开Ubuntu后,它会恢复到Python 3.8.10。
我随后尝试通过将同样的行添加到我的.bashrc脚本中(我按照这些步骤进行),创建一个永久别名,结果发生了同样的事情。
我对所有这些都很新,请耐心等待。
如何将默认的Python 3.8更改为3.9版本和/或完全删除Python 3.8? 我尝试删除python3.8目录,但没有成功。也许是因为我仍然有python3.8-config,我无法删除?
谢谢!

3
python3python不一定是同一个东西。你似乎在随意混合它们。你可以通过执行命令ls -l /usr/bin/python*来查看它们各自链接到哪里。 - stark
2个回答

1
我已经解决了! 我必须在我的bash脚本中加入alias python3='/usr/bin/python3.9',并将其添加到我的~/.bash_aliases文件中(或者您可以直接将其添加到~/.bash_rc中),不要有空格,并包含数字3,按照我上面链接的视频操作。然后我必须关闭并重新打开终端 - 输入clear是不够的。
我很想听听为什么sudo update-alternatives命令无法正常工作的一些解释!

我也是。-alter...虽然星号是我想要的版本,但在我的系统上不起作用。这就是为什么没有人在桌面上使用Linux的原因吗? - Paul Uszak
你把这个加在哪里了?如果可能,请编辑你的答案展示一个完全可用的解决方案。谢谢。 - VMMF

1
你可以随时使用以下命令: sudo update-alternatives --config python3 然后选择你想要的python3版本。 这样就可以解决问题,而不需要进行奇怪的配置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接