如何将 Ubuntu 20.04 上的默认 python 更改为 Python3.8?

dag*_*ime 4 python bash bashrc

我想在我的 PC Thinkpad X230 Ubuntu 20.04 上将 python 3.8 设置为默认值

我尝试设置别名

gt@gt-ThinkPad-X230:~$ alias python='usr/bin/python3.8'
Run Code Online (Sandbox Code Playgroud)

问:这会改变 .bashrc 文件吗?如果是,是哪个?~/.bashrc? 其他?如果是,是哪个?

gt@gt-ThinkPad-X230:~$ python --version
bash: usr/bin/python3.8: No such file or directory
Run Code Online (Sandbox Code Playgroud)

抱怨它找不到/usr/bin/python3.8,buuuuut:

gt@gt-ThinkPad-X230:~$ ls /usr/bin/python*

/usr/bin/python /usr/bin/python3.8 /usr/bin/python3-pasteurize /usr/bin/python2 /usr/bin/python3.8-config /usr/bin/python3-unidiff /usr/bin/python2.7 /usr/bin/python3-config /usr/bin/python3 /usr/bin/python3-futurize

我如何让 bash 找到看到 /usr/bin/python3.8?

小智 15

正确的方法是sudo apt install python-is-python3- 它有效地执行符号链接,但它也与未来的更新保持同步;因此,如果您的 ubuntu 发行版变为 Python 3.9,则手动符号链接将不再有效,但该软件包会确保它仍然有效。

  • 我做了`sudo apt install python-is-python3`,但没有任何改变。什么是下一个步骤?也无人进入 (2认同)

小智 14

检查已安装的Python版本:

ls /usr/bin/python*
Run Code Online (Sandbox Code Playgroud)

然后,创建替代方案:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2
Run Code Online (Sandbox Code Playgroud)

然后,选择您想要的版本:

sudo update-alternatives --config python
Run Code Online (Sandbox Code Playgroud)

您可以轻松地在默认 Python 版本之间切换。

  • 我们建议不要在操作系统未提供的“/usr/bin/”中创建新的替代方案 - 它很可能会在将来的升级中引起问题。其他人已经指出了 `python-is-python3` 包,在这种情况下更好。 (2认同)

Neb*_*bri 7

您应该能够在命令 shell 中输入以下内容来完成此操作:

alias python=python3.8
Run Code Online (Sandbox Code Playgroud)

要使其永久存在,您需要打开 ~/.bashrc 并将该行添加到其末尾。应该就是这么简单!请记住,这只适用于每个用户,这可能是也可能不是您想要的。

我在你的尝试中注意到的另一件事是你错过了前导 /,所以它应该读作:

alias python='/usr/bin/python3.8'
Run Code Online (Sandbox Code Playgroud)

如果没有向前引导/它可能会尝试使用相对路径。

  • 这不是解决方案 (5认同)

小智 5

首先回答你的问题,你的方法应该有效,我认为你在别名中给出的路径需要/在路径前面,所以命令应该是alias python='/usr/bin/python3.8'~/.bashrc假设你使用的是bash ,这确实需要进入你的文件。

其次,Ubuntu 有一个非常好的方法来全局设置默认二进制文件,而不是像这里描述的那样弄乱点配置文件:update-alternatives

更好的解决方案可能是简单地运行:

sudo update-alternatives  --set python /usr/bin/python3.8
Run Code Online (Sandbox Code Playgroud)

这将确保您在任何地方都拥有您打算使用的 Python 版本。

  • 我刚试过这个(在我的情况下,在 ubuntu20.04 上将“python”设置为“/usr/bin/python3”,但出现以下错误:“update-alternatives:error:python 没有替代方案”。知道我是什么吗?我做错了吗? (2认同)
  • @MaxPower 你是对的;由于您描述的原因,这不适用于 Ubuntu 20.04 LTS。但是,根据另一个答案 https://askubuntu.com/a/1272899/379076,`sudo apt install python-is-python3` 确实如此。 (2认同)