我试图在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中使用以下命令。


编辑:

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


过时的回答:

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


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

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

Update-alternatives——help说:

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

所以在后面加个100什么的


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

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


一个简单安全的方法是使用别名。把这个放到~/中。bashrc文件:( 如果你有gedit编辑器使用

多达gedit / .bashrc

要进入bashrc文件,然后在bashrc文件的顶部进行以下更改。

别名python = python3

在文件中添加上述内容后。运行下面的命令

~ /来源。Bash_aliases或源~/.bashrc

例子:

$ python——version Python 2.7.6 $ python3——version Python 3.4.3 $ alias python=python3 $ python——version Python 3.4.3


另外,你还可以为pip添加一个别名(在.bashrc或bash_aliases中):

别名pip = pip3’

您可能会发现,python3的干净安装实际上指向python3。X,所以你可能需要:

别名pip = 6 pip3。’ 别名python = 6 python3。’


提到的第二行可以更改为

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

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

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


获取python路径

ls /usr/bin/python*

然后设置你的python版本

alias python="/usr/bin/python3"

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

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


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

将Ubuntu 18.04中的默认Python 3.6.8更改为Python 3.7。

安装Python 3.7

安装Python3.7并将其配置为默认解释器的步骤。

使用apt-get安装python3.7包 Sudo apt-get install python3.7 将Python3.6和Python 3.7添加到update-alternatives中

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2

更新Python 3以指向Python 3.7 Sudo update-alternatives——config python3 Python 3.7输入2 测试python版本

python3 --version
Python 3.7.1 

首先,确保您的计算机上安装了Python3

回到你的终端,输入:

CD ~/到您的主目录

如果你还没有设置你的.bash_profile,输入touch .bash_profile来创建你的.bash_profile。

或者,输入open -e .bash_profile编辑该文件。

将别名python=python3复制并保存在.bash_profile中。

关闭并重新打开终端。然后输入以下命令来检查Python3是否是你的默认版本:

python的版本

你应该看到python 3.x。Y是默认版本。

干杯!


首先安装python3和pip3

sudo apt-get install python3 python3-pip

然后在终端运行

alias python=python3

检查机器中的python版本。

python --version

只需按照以下步骤将默认python更改为新升级的python版本。对我来说很管用。

sudo apt-install python3.7安装你想要的最新版本的python cd /usr/bin进入python安装的根目录 Sudo unlink python或Sudo unlink python3。取消当前默认python的链接 sudo ln -sv /usr/bin/python3.7 python链接新下载的python版本 检查新的python版本,你就可以开始了


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

sudo apt install python-is-python3

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


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

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

你没有包括优先级参数

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

你可以用你想要的任何优先级替换5。优先级高的备选方案优先于优先级低的备选方案。


为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


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

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

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

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


sudo rm /usr/bin/python3 #remove existing link
sudo ln /usr/bin/python3.8 /usr/bin/python3 # create a new link to the version of your choice

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


       ~$ sudo apt-get install python3.9
/usr/bin$ cd /usr/bin
/usr/bin$ sudo unlink python3
/usr/bin$ sudo ln -sv /usr/bin/python3.9 python3
/usr/bin$ python3 --version
          Python 3.9.5
/usr/bin$ pip3 --version
          pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.9)