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

当前回答

这是一个简单的方法,适用于我。

sudo ln -s /usr/bin/python3 /usr/bin/python

您可以更改/usr/bin/python3作为python3的路径(或您想要的版本)。

但是请记住,update-alternatives可能是最好的选择。

其他回答

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

只需删除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

为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

要将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

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

# 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中准备好。