参见英文答案 > 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并不是那么难.