我想在Sublime Text 2中设置一个完整的Python IDE。
我想知道如何从编辑器中运行Python代码。是用构建系统完成的吗?我该怎么做?
我想在Sublime Text 2中设置一个完整的Python IDE。
我想知道如何从编辑器中运行Python代码。是用构建系统完成的吗?我该怎么做?
当前回答
[这适用于ST3 (Win), ST2不确定]
要让Sublime中的输出作为另一个文件可见(错误为+ 1),请执行以下操作:
创建一个新的构建系统:Tools > build Systems > new build system… 使用以下配置:
{ "cmd": ["python.exe", "$file", "1>", "$file_name.__STDOUT__.txt", "2>", "$file_name.__STDERR__.txt"], "selector": "source.python", "shell": true, "working_dir": "$file_dir" }
对于你的Python文件,选择上面的构建系统配置文件:Tools > build Systems > {your_new_build_system_filename} CTRL + b 现在,在你的文件旁边。"file.py"你会有"file.__STDOUT__.py"和"file.__STDERR__.py"(如果有错误的话) 如果你把你的窗口分成3列,或一个网格,你会立即看到结果,而不需要切换面板/窗口
其他回答
关于前面提到的构建系统,有一点需要注意:您可以编写(并使用)自定义的.sublime-build文件,甚至每个项目的build_systems子句(在您的项目设置中)。这允许您做一些有用的事情,比如带有ANSI颜色输出的花哨测试运行器。
对于更多“完整的IDE”特性,你可以使用出色的SublimePythonIDE包:
代码完成(intel) 跳转到定义和对象描述 适当的产品毛羽/ pep8 使用virtualenv支持不同的解释器
披露:我为这个包贡献了一个PR,我一直在使用它,但还有其他的。
很酷的朋友们,我刚刚发现了这个:
http://ptomato.wordpress.com/2012/02/09/geek-tip-running-python-guis-in-sublime-text-2/
它解释了(类似于上面的答案之一)如何在默认目录中编辑这个exec.py。
我有一个问题,我的PYTHON UI应用程序不会启动。我从下面剪掉了最后一行:
# Hide the console window on Windows
startupinfo = None
if os.name == "nt":
startupinfo = subprocess.STARTUPINFO()
#startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
然后,我可以通过按Ctrl+B启动我的应用程序。这句话很有趣,嗯?非常感谢写这篇文章的人;-)
在Mac OS X上,以.py扩展名保存文件。按⌘+ b,它在下面的窗口中运行。
要运行按ctrl键(答案由matiit)
但是当ctrl键不工作时,Sublime Text可能无法找到Python解释器。在尝试运行程序时,请查看日志并在path中找到Python的引用。
[cmd: [u'python', u'-u', u'C:\\scripts\\test.py']]
[path: ...;C:\Python27 32bit;...]
关键是它试图通过命令行运行python, cmd看起来像:
python -u C:\scripts\test.py
如果你不能从cmd运行python, Sublime Text也不能。 (自己在cmd中尝试,在其中输入python并运行它,应该会出现python命令行)
解决方案
您可以更改Sublime Text构建公式或System %PATH%。
设置你的%PATH%: *您需要重新启动编辑器来加载新的%PATH% 运行命令行*,输入命令:*需要以管理员身份运行 SETX /M PATH "%PATH%;<python_folder>" 例如:SETX /M PATH "%PATH%;C:\Python27;C:\Python27\Scripts" 或手动:(优选) 在字符串的末尾添加;C:\Python27; 要在不打乱System % path %的情况下设置解释器的路径,请参阅ppy的回答。
如果使用python 3。你需要编辑Python3.sublime-build . x
(首选项>浏览包> Python 3)
看起来像这样:
{
"path": "/usr/local/bin",
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}