Sublime 使用 Python 3,SublimeREPL 使用 Python 2.7。嗯?

Sublime uses Python 3, SublimeREPL uses Python 2.7. Huh?

使用 MacOs 10.13。 当我在 Sublime 3 中启动以下代码时:

import platform
print(platform.python_version())

结果是 3.6.3,太棒了。

当我在 SublimeREPL 中启动相同的代码时, 结果是 2.7.10

所以,我认为 SublimeREPL 使用的是 Python 2.7 而 Sublime 使用的是 Python 3.6 我的问题:如何让 REPL 使用 Python 3?还是我完全误解了什么?我的想法是 Sublime 3 带有自己的 Python 3 版本,而 REPL 带有自己的 2.7 版本……这可能是真的吗?

Sublime 确实有它自己的 Python 版本,尽管它是 Python 3.3.6,您可以通过从菜单中选择 View > Console 并输入以下代码来查看(或者你问题中的代码,虽然在这种情况下提供的信息稍微不那么详细):

import sys
print(sys.version)

也就是说,这个版本的 Python 直接嵌入到 Sublime 中,仅用于您或其他开发人员为 Sublime 创建的插件(Sublime 中的许多默认功能也在 Python 中定义).

因此,外部代码根本无法访问它,因此无法将它用于 运行 例如您自己的脚本。为此,您需要在计算机上单独安装 Python。

Linux 和 MacOS 通常安装了 Python 版本,但 Windows 没有。所以在 Windows 上,如果你想 运行 外部 Python 程序,还有一个额外的步骤,而在其他 OS 上,你通常可以快速开始。

如果您使用的是 MacOS,那很可能是 Python 版本 2.7,因为这是 OS 上预装的 Python 版本(无论如何至少达到 MacOS 10.10)。如果您使用的是 Linux,这可能是 Python 2 的一个版本,也可能是 Python 3,具体取决于您的发行版。

由于这两个版本彼此不完全兼容,您可能会发现 python 执行版本 2 而 python3 执行版本 3,具体取决于您安装的版本。

Python 包中 Sublime 附带的 Python.sublime-buildTools > Build 到 build/run Python 程序试图执行 python 到 运行 外部代码,在大多数情况下将是 Python 2.

我不使用 REPL 包,但我敢猜测,默认情况下它也配置为执行 python,因此它会选择你安装的 Python 2 版本,这就是您看到它的原因。