如何在Ubuntu 14.04中将python 3设置为默认解释器

我在EC2上使用Ubuntu 14.04 LTS。 我想将默认的python解释器从python 2.7更改为默认安装的3.4.0。

当我做:

/home/ubuntu$ which python /usr/bin/python 

查看/usr/bin/我看到:

在此处输入图像描述

显然它就在那里。 如何将其设置为默认值?

有多种方法可以做到这一点。 首先,更改sym-links,以便/usr/bin/中的python实际上指向与/usr/bin/python3 sym-link相同的位置。 然而,这是一个坏主意(我在下面解释)。

第二种选择是创建一个特定于用户的命令别名 – 这是definitel两者中更好的选择。


改变Sym-links很糟糕

Python在Ubuntu的大部分内容中用于系统脚本和软件,软件依赖于在某个位置使用Python(以及启动Python的命令)。
请参阅此处(Ubuntu Wiki – 相当过时)和此处(Debian Wiki) ,了解有关Ubuntu / Debian使用Python的更多信息。

现在,虽然Python 3(在你的情况下 3.4.0) Python的最新版本和建议版本,但仍然有很多代码仍然没有移植到Python 3。

默认情况下,正如您所见,运行python运行Python 2.7解释器 – 这就是您计算机上的软件所期望的。

因此,如果您更改命令以运行Python 3,您将导致各种破坏和代码破坏,因为您将尝试运行Python 2.7代码(使用Python 2.7语法编写并使用Python 2.7库)使用Python 3.4解释器(需要Python 3.4语法和Python 3.4库。)


更安全,别名创建方法

但是,您可以做的是为您的个人使用创建别名。 这可以通过添加以下行轻松完成:

 alias python=python3 

要么

 alias python=/usr/bin/python3 

/在~/.bash_aliases文件中 – 您可以通过sudo nano ~/.bash_aliases进行编辑。 然后,关闭并重新打开终端,您应该能够使用python命令供自己个人使用,而不会影响系统的其余部分。

然而,这也没有被建议,因为虽然你不会破坏依赖于正确放置Python解释器的任何系统范围的代码,但我听说它可能导致其他问题(我不知道/记得。)


正确的方法,根本不需要更改Python解释器

如果您正在编写语法正确的Python,那么您应该包含所谓的Shebang 。 (另见这里和这里 。)

如果包含正确,这将允许您通过sudo chmod +x ./SCRIPT-NAME.py使脚本可执行后,只需通过./SCRIPT-NAME.py运行Python脚本。 您也可以完全放弃使用.py文件类型,只需将代码键入一个空文件并将其保存为SCRIPT-NAME ,然后运行sudo chmod +x ./SCRIPT-NAME并通过./SCRIPT-NAME运行它。

当然,这确实需要更多的工作 – 但它将确保使用正确的解释器执行您的代码。

而且,真的。 键入python3以正确运行代码有多难? 我不是想要变得有意思,我可以看看你为什么要这样做,但是运行python3而不是python并不是那么难。