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

Rej*_*ran 71 python installation ubuntu python-3.x ubuntu-16.04

我试图默认的Python版本设置为python3Ubuntu 16.04.默认情况下为python2(2.7).我按照以下步骤操作:

update-alternatives --remove python /usr/bin/python2
update-alternatives --install /usr/bin/python python /usr/bin/python3
Run Code Online (Sandbox Code Playgroud)

但我在第二个声明中收到以下错误,

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.   
Run Code Online (Sandbox Code Playgroud)

我是Ubuntu的新手,我不知道自己做错了什么.

Par*_*dhu 147

提到的第二行可以更改为

update-alternatives --install /usr/bin/python python /usr/bin/python3 10

这给路径的优先级为10 python3.编辑.bashrc文件的缺点是在使用命令时它不起作用sudo.

  • 就像 ywu 所说,我必须运行“sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10” (4认同)
  • 这肯定是正确的方法,但值得注意的是,更改系统范围的默认值可能会破坏一些东西。例如,我必须去[对终结者应用修复](https://askubuntu.com/a/869732/119639),它仅适用于 python2。 (3认同)
  • 好又容易的出路。 (2认同)
  • 正确而正确。错误消息中的“ &lt;priority&gt;”已经建议它。顺便说一句,运行此安装命令通常需要“ sudo”。 (2认同)
  • 不完全工作 - 在此命令之后 `python` 运行 `python3`,但 `python-config` 仍然运行 `python2-config` 并且随之而来的一般损坏 (2认同)

Ste*_*ery 91

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

编辑:

对于更新备选方案,优先级是整数.优先级表示应首先使用哪个程序.这篇文章总结得非常好.

  • 这是错误的答案。编辑您的bashrc与update-alternatives的功能不同。例如,以`#!/ usr / bin / env python`开头的脚本将不会使用bashrc中的版本。请使用@Pardhu的答案。 (22认同)
  • 我这样做了,但它破坏了一些东西,比如 virtualenvs。这个答案会产生更多问题 (3认同)

sil*_*iot 61

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

sudo apt install python-is-python3
Run Code Online (Sandbox Code Playgroud)

它将符号链接替换/usr/bin/python为指向/usr/bin/python3.

  • 小错别字:Ubuntu Focal 是 20.04,而不是 20.20 (2认同)
  • 因为这是关于最新发行版的,所以我建议在“install”子命令中使用“apt”而不是“apt-get”。 (2认同)

Dan*_*noi 16

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

  • 但这只适用于终端当前正在运行的进程.如果我关闭并打开终端,它将变回python2. (2认同)
  • @RejeeshChandran 看看 Steampunkery 的答案 (2认同)

Kha*_*han 13

一种简单安全的方法是使用别名.将其放入〜/ .bashrc文件:如果你使用gedit编辑器

gedit~/.bashrc

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

别名python = python3

在文件中添加以上内容后.运行以下命令

source~/.bash_aliases或source~/.bashrc

例:

$ python --version

Python 2.7.6

$ python3 --version

Python 3.4.3

$ alias python = python3

$ python --version

Python 3.4.3


小智 11

只需按照以下步骤帮助将默认 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版本,你很高兴


小智 9

将Ubuntu 3.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
Run Code Online (Sandbox Code Playgroud)
  1. 更新Python 3以指向Python 3.7

    sudo update-alternatives --config python3 为Python 3.7输入2

  2. 测试python版本

python3 --v
Python 3.7.1 
Run Code Online (Sandbox Code Playgroud)

  • 您可能需要添加警告,以免破坏打包的软件。Python 3.6是分布式默认值,所有捆绑的软件包也将采用此版本。 (2认同)

小智 9

首先安装python3和pip3

sudo apt-get install python3 python3-pip
Run Code Online (Sandbox Code Playgroud)

然后在你的终端运行

alias python=python3
Run Code Online (Sandbox Code Playgroud)

检查您机器中的python版本。

python --version
Run Code Online (Sandbox Code Playgroud)


小智 8

这是一种对我有用的简单方法。

sudo ln -s /usr/bin/python3 /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

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

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


小智 7

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

别名pip ='pip3'

你们很多人发现python3的干净安装实际上指向python3.x所以你可能需要:

alias pip ='pip3.6'alias
python ='python3.6'


pra*_*aka 7

获取 python 路径

ls /usr/bin/python*
Run Code Online (Sandbox Code Playgroud)

然后设置你的python版本

alias python="/usr/bin/python3"
Run Code Online (Sandbox Code Playgroud)


小智 6

正如它所说,update-alternatives --install需要 <link> <name> <path> 和 <priority> 参数。

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

update-alternatives --help 说:

<priority> 是一个整数;在自动模式下,数字越大的选项具有更高的优先级。

所以只需100在最后放一个或其他东西


Rik*_*ika 5

cd ~
gedit .bash_aliases
Run Code Online (Sandbox Code Playgroud)

然后写

alias python=python3
Run Code Online (Sandbox Code Playgroud)

要么

alias python='/usr/bin/python3'
Run Code Online (Sandbox Code Playgroud)

保存文件,关闭终端,然后再次打开。
您现在应该很好!链接