我在 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
运行并不难。python3
python