Python 3.x 升华文本3自定义构建什么都不会发生

Python 3.x 升华文本3自定义构建什么都不会发生,python-3.x,build,sublimetext3,Python 3.x,Build,Sublimetext3,我不习惯摆弄升华文本3的设置等等。我正在学习创建自己的构建系统,现在我只想创建一个简单的Python3构建系统,默认情况下不包括它。(顺便问一下,为什么Python2仍然是默认版本!?)无论如何,我已经阅读了一些,并按照说明进行了操作。我已经在下面创建了.sublime build文件 { "shell_cmd": ["python3", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",

我不习惯摆弄升华文本3的设置等等。我正在学习创建自己的构建系统,现在我只想创建一个简单的Python3构建系统,默认情况下不包括它。(顺便问一下,为什么Python2仍然是默认版本!?)无论如何,我已经阅读了一些,并按照说明进行了操作。我已经在下面创建了
.sublime build
文件

{
    "shell_cmd": ["python3", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

我已将此文件存储为
/Users/ray/Library/Application Support/sublime Text 3/Packages/User
下的
python3.sublime build
。升华文本3能够检测到这个文件,我能够选择它来构建。但是,当我使用它构建时,什么都不会发生。当我使用默认的
Python
build系统进行构建时,一切正常,它运行并在底部的一个小子窗口中向我显示构建结果,但是当我使用我的
python3.sublime build
build系统时,什么都没有发生。我做错了什么?

您使用的是
shell\u cmd
而不是
cmd
。前者似乎不支持命令的列表格式,后者则是如此。将命令更改为单个字符串
“python3-u\”$file\”
或使用
cmd

对于
exec
命令,从:

cmd

包含要运行的命令及其所需参数的数组

shell\u cmd

指定要运行的命令及其参数的字符串


啊,当然可以。我甚至没有注意到我有
shell_cmd
,因为我从文档中复制粘贴了它,并假设它一定是正确的。考虑到升华运行Python脚本,并且Python
subprocess.run()
函数接受一个可选参数
shell=True
,这会生成您描述的行为,这是有意义的。非常感谢。