如何在 windows 10 中从 cmd 上的 sublime text 3 运行 python file/script?
How to run a python file/script from sublime text 3 on cmd in windows 10?
我一直在互联网上上下搜索以寻找解决方案。我知道有 SublimeREPL,我可以轻松使用它在 sublime text 3 中正确地 运行 python 代码。但是,这对我来说还不够。我想从 sublime text 3 运行 我的 python cmd 文件。
我有很多原因。最大的原因是我需要经常测试我的 python 文件,而且我不想让我的 sublime text 工作区被成千上万的标签塞满。还有其他几个原因,但目前我只想要一个解决方案。网上几乎到处都在谈论SublimeREPL,所以我一直找不到解决方案。
我也知道我可以通过直接转到文件并在那里 运行 手动使用 cmd,但是不断切换到 cmd 然后一遍又一遍地升华文本是一件很痛苦的事再次.
因此,我正在寻找一个巧妙的解决方案,我可以在 cmd 中从 sublime text 3 运行 我的 python 文件。非常感谢任何帮助。
我正在使用 python 3.7.3
在 Sublime Text 中构建系统的经验法则是,如果你可以制作一个命令行,当在 terminal/console 中手动执行时,会给你想要的效果(并且该命令不会'需要交互式输入),然后你可以把它变成一个构建系统。
在这种情况下,您要做的是生成一个新的 cmd
window 并在其中做一些事情;因此,在了解如何使用 Sublime 的宏伟计划中,您使用 Sublime 的事实并不有趣,这可能就是您的搜索没有出现任何结果的原因。
在Windows中,你可以使用像cmd /s /c something
这样的终端命令来告诉Windowscmd.exe
它应该执行命令something
。在你的情况下,你想使用 Python 来执行一个程序,所以这可能看起来像下面这样让 Python 执行 my_file.py
.
cmd /s /c python my_file.py
但是,如果您在现有的命令提示符下执行此操作,结果只是 运行 当前 window 中的程序;也就是说,你告诉 cmd
到 运行 一个命令,但它在当前 window 中仍然是 运行ning,这不是你想要的。
为了运行程序在一个新的window中,您需要使用start
命令,它会启动一个新程序。一般的格式是这样的:
start "" cmd /s /c python my_file.py
这告诉 start
启动一个新的 cmd
实例,你告诉 运行 程序,所以现在 Python 程序是 运行宁在它自己的 window.
这有一些普遍的问题;最大的一个是,一旦 cmd
执行完你给它的命令,它就会退出。同样,Python 也会在程序结束时退出。其结果是,一旦您的程序完成,window 立即消失,然后您才能看到它做了什么。
您可以将 -i
添加到 python
命令以使其交互,但是您必须与内部 python REPL 交互才能获得它退出并关闭 window,听起来您不想执行此步骤。
在那种情况下,您需要修改给 cmd
的命令,让它也等到您按下某个键。
总而言之,作为一个完整的 sublime-build
文件,其示例可能如下所示:
{
"shell_cmd": "start \"\" cmd /s /c \"python -u \"$file\" & pause\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf-8"},
}
这是内部 Python.sublime-build
的一个版本,已修改以扩展上述命令。为了让它工作,您需要能够在终端输入 python
并让它启动 Python 解释器。如果不是这种情况,您需要适当调整 PATH
环境变量。
如果您正在使用 Python 3,您可能需要在命令中将 python
替换为 python3
或类似命令,以便 cmd
知道要执行什么。
我一直在互联网上上下搜索以寻找解决方案。我知道有 SublimeREPL,我可以轻松使用它在 sublime text 3 中正确地 运行 python 代码。但是,这对我来说还不够。我想从 sublime text 3 运行 我的 python cmd 文件。
我有很多原因。最大的原因是我需要经常测试我的 python 文件,而且我不想让我的 sublime text 工作区被成千上万的标签塞满。还有其他几个原因,但目前我只想要一个解决方案。网上几乎到处都在谈论SublimeREPL,所以我一直找不到解决方案。
我也知道我可以通过直接转到文件并在那里 运行 手动使用 cmd,但是不断切换到 cmd 然后一遍又一遍地升华文本是一件很痛苦的事再次.
因此,我正在寻找一个巧妙的解决方案,我可以在 cmd 中从 sublime text 3 运行 我的 python 文件。非常感谢任何帮助。
我正在使用 python 3.7.3
在 Sublime Text 中构建系统的经验法则是,如果你可以制作一个命令行,当在 terminal/console 中手动执行时,会给你想要的效果(并且该命令不会'需要交互式输入),然后你可以把它变成一个构建系统。
在这种情况下,您要做的是生成一个新的 cmd
window 并在其中做一些事情;因此,在了解如何使用 Sublime 的宏伟计划中,您使用 Sublime 的事实并不有趣,这可能就是您的搜索没有出现任何结果的原因。
在Windows中,你可以使用像cmd /s /c something
这样的终端命令来告诉Windowscmd.exe
它应该执行命令something
。在你的情况下,你想使用 Python 来执行一个程序,所以这可能看起来像下面这样让 Python 执行 my_file.py
.
cmd /s /c python my_file.py
但是,如果您在现有的命令提示符下执行此操作,结果只是 运行 当前 window 中的程序;也就是说,你告诉 cmd
到 运行 一个命令,但它在当前 window 中仍然是 运行ning,这不是你想要的。
为了运行程序在一个新的window中,您需要使用start
命令,它会启动一个新程序。一般的格式是这样的:
start "" cmd /s /c python my_file.py
这告诉 start
启动一个新的 cmd
实例,你告诉 运行 程序,所以现在 Python 程序是 运行宁在它自己的 window.
这有一些普遍的问题;最大的一个是,一旦 cmd
执行完你给它的命令,它就会退出。同样,Python 也会在程序结束时退出。其结果是,一旦您的程序完成,window 立即消失,然后您才能看到它做了什么。
您可以将 -i
添加到 python
命令以使其交互,但是您必须与内部 python REPL 交互才能获得它退出并关闭 window,听起来您不想执行此步骤。
在那种情况下,您需要修改给 cmd
的命令,让它也等到您按下某个键。
总而言之,作为一个完整的 sublime-build
文件,其示例可能如下所示:
{
"shell_cmd": "start \"\" cmd /s /c \"python -u \"$file\" & pause\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf-8"},
}
这是内部 Python.sublime-build
的一个版本,已修改以扩展上述命令。为了让它工作,您需要能够在终端输入 python
并让它启动 Python 解释器。如果不是这种情况,您需要适当调整 PATH
环境变量。
如果您正在使用 Python 3,您可能需要在命令中将 python
替换为 python3
或类似命令,以便 cmd
知道要执行什么。