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

use*_*380 32 python amazon-ec2 14.04

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

当我做:

/home/ubuntu$ which python
/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

看着/usr/bin/我看到:

在此处输入图片说明

所以很明显它就在那里。我如何将其设置为默认值?

RPi*_*ess 44

有多种方法可以做到这一点。首先,更改周围的符号链接,以便pythonin/usr/bin/实际上指向与/usr/bin/python3符号链接相同的位置。然而,这是一个坏主意(正如我在下面解释的那样)。

第二个选项是创建一个特定于用户的命令别名 - 这绝对是两者中更好的选择。


更改符号链接不好

Python 在 Ubuntu 的大部分系统脚本和软件中都被使用,而软件依赖于在某个位置使用 Python(以及启动 Python 的命令)。
有关Ubuntu/Debian 使用 Python 的更多信息,请参阅此处(Ubuntu Wiki - 相当过时)此处(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
Run Code Online (Sandbox Code Playgroud)

或者

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

/ 在~/.bash_aliases文件中 - 您可以通过sudo nano ~/.bash_aliases. 然后,关闭并重新打开终端,您应该可以将该python命令用于个人用途,而不会影响系统的其余部分。

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


完全不需要更改 Python 解释器的正确方法

如果您正在编写语法正确的 Python,您应该包括所谓的Shebang。(另请参阅此处此处。)

如果包含正确,这将允许您在./SCRIPT-NAME.py通过sudo chmod +x ./SCRIPT-NAME.py. 您也可以完全放弃.py文件类型,只需将代码键入一个空文件并将其另存为SCRIPT-NAME,然后sudo chmod +x ./SCRIPT-NAME通过./SCRIPT-NAME.

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

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

  • 没问题!顺便说一句,我的意思是说`sudo apt-get install python3-pip` - 不确定你是否明白。党的移动格式。至于要运行的命令,我不好-您需要运行`sudo pip3 install STUFF & THINGS`。 (4认同)