参见英文答案 > How to make ‘python’ program command execute Python 3?                                    8个

我在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相同的位置.但是,这是一个坏主意(我在下面解释).

第二个选项是创建一个特定于用户的命令别名 – 这是两个更好的选择.

改变Sym-links很糟糕

Python在Ubuntu的大部分内容中用于系统脚本和软件,软件依赖于在某个位置使用Python(以及启动Python的命令).

有关Ubuntu / Debian使用Python的更多信息,请参阅here (Ubuntu Wiki – rather outdated)和here (Debian Wiki).

现在,虽然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.(参见here和here.)

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

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

而且,真的.键入python3以正确运行代码有多难?我不是要吝啬,我可以理解你为什么要这样做,但是运行python3而不是python并不是那么难.