如何从Sublime Text 2运行Python代码?

时间:2011-12-18 12:36:38

标签: python ide sublimetext2 sublimetext

我想在Sublime Text 2中设置一个完整的Python IDE。

我想知道如何在编辑器中运行Python代码。它是使用构建系统完成的吗?我该怎么做?

15 个答案:

答案 0 :(得分:361)

工具 - >构建系统 - > (选择)Python然后:

要运行:

      Tools -> Build

      -or-

      Ctrl + B

      CMD + B  (OSX)

这将在控制台中启动您的文件,该文件应位于编辑器的底部。

停止:

       Ctrl + Break or Tools -> Cancel Build

       Fn + C (OSX)

您可以找到Break密钥位于此处的位置:http://en.wikipedia.org/wiki/Break_key

注意:CTRL + C工作。

Ctrl + Break不起作用时该怎么办

转到:

  

偏好设置 - >键绑定 - 用户

并粘贴以下行:

{"keys": ["ctrl+shift+c"], "command": "exec", "args": {"kill": true} } 

现在,您可以使用ctrl+shift+c代替CTRL+BREAK

答案 1 :(得分:56)

在Mac OS X上,使用.py扩展名保存文件。按 + B 。它在下面的窗口中运行。

enter image description here

答案 2 :(得分:55)

编辑%APPDATA%\ Sublime Text 2 \ Python \ Python.sublime-build

将内容更改为:

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

将“c:\ python27”部分更改为系统中任何版本的python。

答案 3 :(得分:43)

要运行 Ctrl B (通过matiit回答)

但是当 Ctrl B 不起作用时,Sublime Text可能无法找到Python解释器。尝试运行程序时,请参阅日志并在路径中找到对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构建公式或系统%PATH%

  • 设置%PATH%
    * 您需要重新启动编辑器才能加载新的%PATH%

    • 运行命令行*并输入以下命令: *需要以管理员身份运行
      SETX /M PATH "%PATH%;<python_folder>"
      例如:SETX /M PATH "%PATH%;C:\Python27;C:\Python27\Scripts"

    • 手动
    • OR :(首选)
      在字符串末尾添加;C:\Python27;C:\Python27\ScriptsSetting Path in Win7

  • 设置解释器的路径而不会弄乱系统%PATH%,请ppy查看此答案。

答案 4 :(得分:9)

您可以使用SublimeREPL(您需要先安装Package Control。)

答案 5 :(得分:7)

如果使用python 3.x,则需要编辑Python3.sublime-build

(首选项&gt;浏览包&gt; Python 3)

看起来像这样:

{
  "path": "/usr/local/bin",
  "cmd": ["python3", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python"
}

答案 6 :(得分:4)

[这适用于ST3(Win),不确定ST2]

要将Sublime中的输出显示为另一个文件(错误为+),请执行以下操作:

  1. 创建新的构建系统:Tools > Build Systems > New Build System...
  2. 使用以下配置:
  3. 
        {
            "cmd": ["python.exe", "$file", "1>", "$file_name.__STDOUT__.txt", "2>", "$file_name.__STDERR__.txt"],
            "selector": "source.python",
            "shell": true,
            "working_dir": "$file_dir"
        }
    
    1. 对于您的Python文件,请选择上面的构建系统配置文件:Tools > Build Systems > {your_new_build_system_filename}
    2. ctrl + b
    3. 现在,在您的文件旁边,例如"file.py"您有"file.__STDOUT__.py""file.__STDERR__.py"(错误,如有)
    4. 如果您将窗口拆分为3列或网格,您将立即看到结果,而无需切换面板/窗口

答案 7 :(得分:2)

很酷的大家伙,我刚刚发现了这个:

http://ptomato.wordpress.com/2012/02/09/geek-tip-running-python-guis-in-sublime-text-2/

它解释了(如上面的答案之一)如何在默认目录中编辑 exec.py

我遇到了 PYTHON UI APPLICATION 无法启动的问题。我注释掉了以下剪辑的最后一行:

    # Hide the console window on Windows
    startupinfo = None
    if os.name == "nt":
        startupinfo = subprocess.STARTUPINFO()
        #startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW

和taaadaaaa,我可以按Ctrl + B启动我的应用程序。反正有趣的线,呃?对于撰写该文章的人来说,一个很大的谢谢; - )

答案 8 :(得分:2)

在python v3.x中,你应该去:Tools->Build System->New Build System

然后,它在sublime文本编辑器中弹出untitled.sublime-build窗口。输入设置为:

{

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

要查看路径,Type following in terminal as

python
>>> import sys
>>>print(sys.executable)

您可以制作多个构建系统,但它应默认保存在包含Sublime文本 .sublime-build 扩展名中。

然后,选择新的构建系统并根据您的操作系统按cltr+b或其他。

答案 9 :(得分:1)

我解决了这个问题:

> Preferences –> Browse Packages –> Default 

打开第41-42行附近的exec.py文件,代码应如下所示:

for k, v in proc_env.iteritems():
    proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())

然后将其删除或编辑为:

try:    
    for k, v in proc_env.iteritems():
        proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
except:
    print 'foobar'

答案 10 :(得分:1)

我今天遇到了同样的问题。以下是我如何设置在Sublime Text 3中运行python代码:

  1. Ctrl + B (对于Mac, + B )以启动构建系统。它现在应该执行该文件。
  2. 关注this answer以了解如何自定义构建系统。
  3. 接下来需要做的是将Python.sublime-build中的内容替换为

    {
        "cmd": ["/usr/local/bin/python", "-u", "$file"],
        "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
        "selector": "source.python",
    }
    

    您当然可以进一步将其自定义为适合您的内容。

答案 11 :(得分:0)

我遇到了同样的问题。您可能尚未保存该文件。确保使用.py扩展名保存代码,它应该可以正常工作。

答案 12 :(得分:0)

关于上述build system的一件事需要注意:您可以编写(并使用)自定义<meta http-equiv="X-UA-Compatible" content="IE=edge" > 文件,甚至每个项目.sublime-build子句(在项目设置中)。这使您可以执行有用的操作,例如a fancy test runner with ANSI colors output

对于更多“完整IDE”功能,您可以使用优秀的SublimePythonIDE包:

  • 代码完成(英特尔)
  • 跳转到定义&amp;对象描述
  • 适当的linting / pep8
  • 使用virtualenv支持不同的口译员

披露:我已经为该套餐提供了PR,我一直都在使用它,但是there are others

答案 13 :(得分:0)

使用真正的python控制台和Sublime

Sublime的构建系统和SublimeREPL(上面的答案)都受到限制,因为在运行文件后,您无法轻松地与工作区变量进行交互。

如果你想运行一个脚本,然后以类似REPL的方式工作(就像你在IDE中一样),那么我建议让Sublime与IPython控制台一起打开。使用AutoHotKey(Windows)或AutoKey(Linux),您可以对其进行设置,使得单个快捷方式将复制文件名(或仅复制所选代码),然后将其粘贴到控制台中以运行该文件。

LinuxWindows

的详细说明

答案 14 :(得分:0)

似乎Ctrl + Break对我不起作用,首选项-用户...

使用键,Alt→t→c