在 Windows 8.1 下使用带有 Python 3 的 Sublime Text 2

Using Sublime Text 2 with Python 3 under Windows 8.1

我正在使用 python 为 sublime text 2 开发一个插件。默认情况下,sublime text 2 使用 python 2,但我想切换到 python 3。有一些关于如何做到这一点的提示(也在 Whosebug 上),但是 none 他们似乎对我有用。可能是因为我用的是windows所以这里应该有些不同吧?

我的 Python.sublime-build 文件如下所示:

{
  "path" : "C:/Python34",
  "cmd": ["python", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python"
}

它不是那样工作的。当我在我的插件中使用以下代码时:

print('python version: ' + sys.version)

我得到结果

python version: 2.6.5 (r265:79096, Mar 19 2010, 18:02:59) [MSC v.1500 64 bit (AMD64)]

现在我需要改变什么?在cmd这一行,应该是python3而不是python吗?还是python.exe?我还将 python3 的路径放入 windows PATH 环境变量(而不是 python2 的那个),但我仍然得到 python 2.6.5 的输出。

还有什么想法吗?

你搞糊涂了plugins with build systems。构建系统(在 .sublime-build 文件中定义)用于通过外部程序编写 运行 代码,例如 Python 或 Ruby 解释器、Java 或 C++ 编译器, make,或者任何接受输入并给出输出的任意程序。

Sublime 插件是用 Python 编写的程序,由 Sublime 的 内部 Python 解释器执行,通常使用 API 在 Sublime 中执行操作,例如代码完成、linting、与版本控制系统交互,如 Git 等。Sublime Text 2 在内部使用 Python 2.6.5,而 ST3​​ 使用 Python 3.3.3。

如果您想编写插件,我强烈建议您使用 ST3。它非常稳定(我几乎完全使用它已经一年多了),比 ST2 有许多功能改进,并使用 Python 3 作为其脚本语言。 API 现在是完全线程安全的,当您同时拥有多个插件 运行 时,性能会更好,其中一个插件崩溃不一定会导致整个系统崩溃。 没有 在 ST2 上进行开发或错误修复工作(事实上,Sublime 的作者 Jon Skinner 说他现在正处于 ST4 的计划阶段),而 ST3​​ 目前正在发展相当迅速,自 1 月底以来已发布 17 个新版本。发布了主要的新功能,包括带有 mini-HTML 格式的工具提示 API、新的语言语法定义格式、全面改进的错误消息、构建系统的重大变化以及一系列调整在这个地方。