在ubuntu中无法将默认python版本设置为python3

我试图在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.
607307 次浏览

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

编辑:

我写这当我年轻和天真,update-alternatives是更好的方式来做这件事。请看@Pardhu的回答。


过时的回答:

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

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

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

update-alternatives --help说:

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

所以只要在后面加上100之类的

< p > 更新:
从Ubuntu 20.04开始,python3是默认版本,但python仍然没有默认注册为python3。为了实现这一点,您可以简单地执行:

sudo apt install python-is-python3

欲了解更多信息,请查看
老方法:< / >强

cd ~
gedit .bash_aliases

然后写

alias python=python3

alias python='/usr/bin/python3'

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

一个简单安全的方法是使用别名。把这个放到~/中。bashrc文件:( 如果你有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,所以你可能需要:

< p >别名pip = ' pip3.6 ' < br > 别名python = ' python3.6 ' < / p >

提到的第二行可以更改为

[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并将其配置为默认解释器的步骤。

  1. 使用apt-get安装python3.7包

    sudo apt-get install python3.7

  2. 添加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
  1. 更新Python 3指向Python 3.7

    < p > sudo update-alternatives --config python3 Python 3.7

    输入2
  2. 测试python版本

python3 --version
Python 3.7.1

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

回到你的终端,输入:

cd ~/到你的主目录

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

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

alias python=python3复制并保存在.bash_profile文件中。

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

python --version

你应该看到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 pythonsudo unlink python3。取消当前默认python的链接
  • sudo ln -sv /usr/bin/python3.7 python链接新下载的python版本
  • python --version检查新的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更改为Ubuntu 18.04中的默认Python 2.7,您可以尝试命令行工具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

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

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

在我的情况下,它发生在我运行这个命令在我的终端 “;别名python=python3 "

. quot
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版本,与update-alternativesalias解决方案相比,我会选择它。

前女友。

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

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

安装pytest for
       ~$ 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)