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

当前回答

要更改为python3,可以在终端别名python=python3中使用以下命令。

其他回答

ubuntu 18.04中适用于所有用户的最佳方法是

sudo vim /etc/bash.bashrc
add lines
alias python=python3
alias pip=pip3

保存更改并重新启动。

重新启动后,系统中python 3的任何版本以及python 2.7都将被视为默认版本。如果你有多个版本的python3,你可以通过在alias中说下面的话来更具体。

sudo vim /etc/bash.bashrc
add lines
alias python=python3.6
alias pip=pip3.6

编辑:

我写这篇文章的时候还很年轻很天真,update-alternatives是更好的方法。请看@Pardhu的回答。


过时的回答:

打开你的.bashrc文件nano ~/.bashrc。输入别名python=python3 在文件顶部的新行上,然后按ctrl+o保存文件 并按ctrl+x关闭文件。然后,回到您的命令行类型 ~ / . bashrc来源。现在你的别名应该是永久的了。

如果有可能直接使用特定的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什么的

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

sudo apt install python-is-python3

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