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

如何在 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/是:

在此处输入图片描述

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

答案1

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

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


更改符号链接是不好的

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 3.4 解释器(需要 Python 3.4 语法和 Python 3.4 库)运行 Python 2.7 代码(以 Python 2.7 语法编写并使用 Python 2.7 库)。


更安全的别名创建方法

然而,你要做的就是创建一个供个人使用的别名。只需添加以下行即可轻松完成此操作:

alias python=python3

或者

alias python=/usr/bin/python3

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

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


正确的方法不需要改变 Python 解释器

如果你正在编写语法正确的 Python,你应该包括所谓的舍邦。 (也可以看看这里, 和这里

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

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

而且,真的。输入正确运行代码有多难?我不是故意要刻薄,我也能理解你为什么要这么做,但运行而不是python3运行并不难。python3python

相关内容