How do I run Python code from Sublime Text 2?
我想在Sublime文本2中建立一个完整的Python IDE。
我想知道如何在编辑器中运行Python代码。是否使用构建系统完成?我该怎么做?
工具->构建系统->(选择)python然后:
运行:
1 2 3 4 5 6 7 | Tools -> Build -or- Ctrl + B CMD + B (OSX) |
这将在控制台中启动文件,控制台应该位于编辑器的底部。
停止:
1 2 3 | Ctrl + Break or Tools -> Cancel Build Fn + C (OSX) |
您可以在这里找到您的
注:
当
去:
Preferences -> Key Bindings - User
并粘贴以下行:
1 | {"keys": ["ctrl+shift+c"],"command":"exec","args": {"kill": true} } |
现在,您可以使用
在Mac OS X上,用.py扩展名保存文件。按下?+b.它在下面的一个窗口中运行。
编辑%appdata%sublime text 2pythonpython.sublime-build
将内容更改为:
1 2 3 4 5 | { "cmd": ["C:\\python27\\python.exe","-u","$file"], "file_regex":"^[ ]*File "(...*?)", line ([0-9]*)", "selector":"source.python" } |
将"c:python27"部分更改为系统中任何版本的python。
要运行,请按ctrlbbakbd(matit回答)
但是当ctrlbkbd不工作时,Sublime文本可能找不到python解释器。尝试运行程序时,请查看日志并在路径中找到对python的引用。
1 2 | [cmd: [u'python', u'-u', u'C:\\scripts\\test.py']] [path: ...;C:\Python27 32bit;...] |
关键是它试图通过命令行运行python,命令如下:
1 | python -u C:\scripts\test.py |
如果不能从cmd运行python,那么sublime文本也不能。(在cmd中亲自尝试,在其中键入python并运行它,应该出现python命令行)
解决方案您可以更改Sublime文本构建公式或系统
设置您的
%PATH% :*您需要重新启动编辑器以加载新的%PATH% 。运行命令行*并输入此命令:*需要以管理员身份运行
SETX /M PATH"%PATH%; 例如:" SETX /M PATH"%PATH%;C:\Python27;C:\Python27\Scripts" 。或手动:(首选)在字符串的末尾加上
;C:\Python27;C:\Python27\Scripts 。
要设置解释器的路径而不干扰系统
%PATH% ,请参阅PPY的回答。
您可以使用Sublimerepl(首先需要安装包控制)。
如果使用python 3.x,则需要编辑
(首选项>浏览包>python 3)
如下所示:
1 2 3 4 5 6 | { "path":"/usr/local/bin", "cmd": ["python3","-u","$file"], "file_regex":"^[ ]*File "(...*?)", line ([0-9]*)", "selector":"source.python" } |
[这适用于ST3(Win),不确定ST2]
要使输出作为另一个文件(错误为一个)在Sublime中可见,请执行以下操作:
1 2 3 4 5 6 | { "cmd": ["python.exe","$file","1>","$file_name.__STDOUT__.txt","2>","$file_name.__STDERR__.txt"], "selector":"source.python", "shell": true, "working_dir":"$file_dir" } |
在python v3.x中,您应该转到:
然后,在Sublime文本编辑器中弹出Untitled.Sublime-Build窗口,输入设置为:
1 2 3 4 5 6 | { "cmd": ["path_to_the_python.exe","-u","$file"], "file_regex":"^[ ]*File "(...*?)", line ([0-9]*)", "selector":"source.python" } |
要查看路径,
1 2 3 | python >>> import sys >>>print(sys.executable) |
您可以创建多个生成系统,但默认情况下,它应该保存在具有.sublime生成扩展名的sublime文本包中。
然后,选择新的构建系统并根据您的操作系统按
酷,伙计们,我刚刚发现了:
Geek tip: Running Python GUIs in Sublime Text 2
它解释了如何在默认目录中编辑exec.py(就像上面的答案之一)。
我的python ui应用程序无法启动。我把下面截图的最后一行注释掉了:
1 2 3 4 5 | # Hide the console window on Windows startupinfo = None if os.name =="nt": startupinfo = subprocess.STARTUPINFO() #startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW |
还有,taaadaaaa,我可以按ctrl+b启动我的应用程序。不管怎样,有趣的一行,嗯?感谢写这篇文章的人;—)
我今天遇到了同样的问题。下面是我如何以崇高的文本3运行python代码:
接下来需要做的是将
1 2 3 4 5 | { "cmd": ["/usr/local/bin/python","-u","$file"], "file_regex":"^[ ]*File "(...*?)", line ([0-9]*)", "selector":"source.python", } |
当然,你可以进一步定制它,使之适合你。
我解决了这个问题:
1 | > Preferences –> Browse Packages –> Default |
打开靠近第41-42行的
1 2 | for k, v in proc_env.iteritems(): proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding()) |
然后删除或编辑为:
1 2 3 4 5 | try: for k, v in proc_env.iteritems(): proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding()) except: print 'foobar' |
您可以通过"查看/显示控制台"或ctrl+`访问python控制台。
在Sublime旁边使用真正的python控制台
Sublime的构建系统和Sublimerepl(上面的答案)都受到限制,因为在运行文件之后,您无法轻松地与工作区变量交互。
如果你想运行一个脚本,然后以类似于repl的方式工作(就像在IDE中一样),那么我建议你在ipython控制台旁边有一个出色的开放式脚本。使用autohotkey(windows)或autokey(linux),您可以设置此设置,这样一个快捷方式就可以复制文件名(或仅复制选定的代码),然后将其粘贴到控制台中以运行该文件。
Linux或Windows的详细说明
关于上述构建系统,需要注意的一点是:您可以编写(和使用)自定义
对于更多的"完整的IDE"功能,您可以使用卓越的Sublimepythonide包:
- 代码完成(Intel)
- 跳转到定义和对象描述
- 适当的棉绒/PEP8
- 使用virtualenv支持不同的解释程序
披露:我已经为这个包贡献了一个公关,我一直在使用它,但还有其他的。
我也有同样的问题。您可能还没有保存文件。确保用.py扩展名保存代码,它应该可以工作。