我试图在Ubuntu 16.04中将默认的python版本设置为python3。默认值是python2(2.7)。我遵循以下步骤:

update-alternatives --remove python /usr/bin/python2
update-alternatives --install /usr/bin/python python /usr/bin/python3

但是对于第二个语句,我得到了如下错误,

rejeesh@rejeesh-Vostro-1015:~$ update-alternatives --install /usr/bin/python python /usr/bin/python3
update-alternatives: --install needs <link> <name> <path> <priority>

Use 'update-alternatives --help' for program usage information.   

当前回答

要将Python 3.6.8从Python 2.7更改为Ubuntu 18.04中的默认值,您可以尝试命令行工具update-alternatives。

sudo update-alternatives --config python

如果你得到错误"no alternatives for python",那么你自己用下面的命令设置一个替代:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2

将路径/usr/bin/python3相应更改为所需的python版本。

最后一个参数指定了它的优先级意味着,如果没有手动选择替代方案,将设置具有最高优先级数字的替代方案。在我们的例子中,我们为/usr/bin/python3.6.8设置了优先级2,因此/usr/bin/python3.6.8被update-alternatives命令自动设置为默认的python版本。

我们可以随时在上面列出的python替代版本之间切换,使用以下命令并输入选择编号:

update-alternatives --config python

其他回答

更新: 从Ubuntu 20.04开始,python3是默认版本,但python仍然没有默认注册为python3。为了做到这一点,你可以简单地做:

sudo apt install python-is-python3

要了解更多信息,你可以看看这个。 老方法:

Do

cd ~
gedit .bash_aliases

然后写

alias python=python3

or

alias python='/usr/bin/python3'

保存文件,关闭终端,然后重新打开。 你现在应该没事了!链接

如上所述,update-alternatives——install需要<link> <name> <path>和<priority>参数。

你有链接(/usr/bin/python),名称(python)和路径(/usr/bin/python3),你缺少优先级。

Update-alternatives——help说:

<priority>为整数;在自动模式下,数值越高的选项优先级越高。

所以在后面加个100什么的

提到的第二行可以更改为

[sudo] update-alternatives --install /usr/bin/python python /usr/bin/python3 10

这为python3的路径提供了10的优先级。

替代编辑.bashrc的缺点是将命令与sudo一起使用将不起作用。

另一种非侵入性、仅限当前用户的方法是:

# First, make $HOME/bin, which will be automatically added to user's PATH
mkdir -p ~/bin
# make link actual python binaries
ln -s $(which python3) python
ln -s $(which pip3) pip

Python PIP将在一个新的shell中准备好。

只需删除python-is-python2:

sudo apt purge python-is-python2

并安装python-is-python3:

sudo apt install python-is-python3

它将自动转换到新python3的过程。你也可以选择在以后去掉剩下的包:

sudo apt autoremove && sudo apt autoclean