Roo*_*ook 7 python build-system windows-7 sublimetext sublimetext3
我是Sublime Text的新手,所以到目前为止我对它的内部结构并不熟悉.据我所知,问题可能与此有关.
我有一个python脚本
var = raw_input("Enter something: ")
print "You entered ", var
Run Code Online (Sandbox Code Playgroud)
请求输入,等待它,然后在Windows控制台提示符下打印出来.
如何在"构建"时生成ST3以在控制台窗口中显示结果?
这实际上非常简单,但需要大量挖掘来连接这些部件.我首先想出了一个使用批处理文件的更迂回的方式,但经过一些更多的思考后,将它们整合到一个Sublime构建系统中.
以下工作正常:
{
"cmd": ["start", "cmd", "/k", "c:/python27/python.exe", "-u", "$file"],
"selector": "source.python",
"shell": true,
"working_dir": "$file_dir"
}
Run Code Online (Sandbox Code Playgroud)
将其另存为Packages/User/Python_cmd.sublime-build
,选择Tools -> Build System -> Python_cmd
和构建CtrlB.
start
按照它所说的做,开始一个独立于Sublime Text的新流程.cmd
是cmd.exe
,Windows命令行解释器./k
程序运行后,该标志会保持窗口打开(在新的命令提示符下),允许您检查其输出,查看回溯,运行其他命令等.如果您不需要该功能,请将其更改为/c
(如下面),cmd
程序运行完毕后窗口将关闭.
我已经在ST2和ST3上的XP和Win7上测试了它,并且它在所有这些上都很好用,无需更改.
我最初的解决方案
首先,创建run_python.bat
并将其存储在您的Packages/User
目录中(可从Preferences -> Browse Packages...
菜单选项访问):
@echo off
c:\Python27\python.exe -u %1
pause
Run Code Online (Sandbox Code Playgroud)
显然,python.exe
如果它与你不同,请调整路径.接下来,Packages/User/Python_cmd.sublime-build
使用以下内容创建:
{
"cmd": ["start", "cmd", "/c", "run_python.bat", "$file"],
"selector": "source.python",
"shell": true,
"working_dir": "$packages/User"
}
Run Code Online (Sandbox Code Playgroud)
保存,选择Tools -> Build System -> Python_cmd
,切换到上面的Python程序,点击CtrlB,你,我的朋友,很高兴.如果希望cmd.exe
窗口保持打开状态以在提示符下输入更多命令,请将更改/c
为/k
.我没有使用任何GUI对此进行测试,但假设您现在可以从命令行启动它们,他们应该使用它.
我在XP上测试了这个,所以它也适用于Win7.它也适用于Sublime Text 2.
这真的很简单,只需发出一个命令来启动一个新的cmd.exe
.
start cmd /K python main.py
Run Code Online (Sandbox Code Playgroud)
更多内容请看这里(古代)
该/k
标志将其他命令“传送”到cmd.exe
并运行,直到您自己退出 shell,这在您想要查看跟踪时很有用。
/C 标志将其他命令“管道”到cmd.exe
并运行,直到 python 程序完成。
所以在你的项目文件中你应该有这样的内容:
"build_systems": [
{
"name": "RunPY",
"cmd": ["start", "cmd", "/K", "python", "main.py"],
"shell": true,
"working_dir": "<project_path>"
},
]
Run Code Online (Sandbox Code Playgroud)
当我们讨论 Sublime 的主题时,build_systems
我想推荐插件BuildSwitcher,它在 ST3 上运行良好,只是它并不总是注意到您何时在项目文件中添加了新的构建。这也意味着您必须手动安装 ST3 插件。
使用该插件,您只需按几下按键即可轻松定义和运行不同的构建。真正节省时间。