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
有多种方法可以做到这一点。首先,更改周围的符号链接,以便python
in/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,您应该包括所谓的Shebang。(另请参阅此处和此处。)
如果包含正确,这将允许您在./SCRIPT-NAME.py
通过sudo chmod +x ./SCRIPT-NAME.py
. 您也可以完全放弃.py
文件类型,只需将代码键入一个空文件并将其另存为SCRIPT-NAME
,然后sudo chmod +x ./SCRIPT-NAME
通过./SCRIPT-NAME
.
当然,这确实需要做更多的工作 - 但它会确保您的代码使用正确的解释器执行。
而且,真的。键入python3
以正确运行代码有多难?我并不是要刻薄,我可以理解您为什么要这样做,但是仅运行python3
而不是python
.
归档时间: |
|
查看次数: |
157342 次 |
最近记录: |