我试图在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.   

当前回答

如果你有Ubuntu 20.04 LTS (Focal Fossa),你可以安装python-is-python3:

sudo apt install python-is-python3

替换/usr/bin/python中的符号链接指向/usr/bin/python3.

其他回答

为Linux终端中的默认python设置优先级:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1

这里,我们将python3的优先级设置为10,将python2的优先级设置为1。这将使python3成为默认的python。如果你想将Python2作为默认值,那么将Python2的优先级设置为高于python3

如果你有Ubuntu 20.04 LTS (Focal Fossa),你可以安装python-is-python3:

sudo apt install python-is-python3

替换/usr/bin/python中的符号链接指向/usr/bin/python3.

更新: 从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'

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

如果有可能直接使用特定的python版本,与更新替代方案和别名解决方案相比,我会选择它。

Ex.

python3.6 -m pip install pytest
ptyhon3.6 -m pytest test_sample.py

-m执行特定python版本的特定模块。 第一行代码将为特定版本和用户在可能的位置/home/user/.local/lib/python3.5/site-packages安装pytest

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

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

Update-alternatives——help说:

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

所以在后面加个100什么的