Как запустить код Python из Sublime Text 2?

Я хочу настроить полную Python IDE в Sublime Text 2.

Я хочу знать, как запустить код Python из редактора. Это сделано с помощью системы сборки? Как это сделать ?


person neo    schedule 18.12.2011    source источник


Ответы (16)


Инструменты -> Система сборки -> (выберите) 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 не работает:

Go to:

Настройки -> Привязки клавиш - Пользователь

и вставьте строку ниже:

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

Теперь вы можете использовать ctrl+shift+c вместо CTRL+BREAK

person matiit    schedule 18.12.2011
comment
возвышенный текст также может автоматически определять язык. Так что у меня сработало просто CTRL + B - person Alexis; 03.03.2012
comment
Убедитесь, что python находится в вашем _2 _... установщик Windows, похоже, не делает это автоматически - person SeanJA; 16.05.2012
comment
как перестать запускать программу (питон)? - person Ib33X; 01.06.2012
comment
Клавиша перерыва на моей клавиатуре выглядит как пауза / перерыв, поэтому, чтобы остановить процесс, я также добавил {"keys": ["pause"], "command": "exec", "args": {"kill": true} } - person icy; 15.08.2013
comment
Наличие строки {"keys": ["ctrl+shift+c"], "command": "exec", "args": {"kill": true} } в привязках клавиш пользователя и использование ctrl+shift+c выводит на печать, что сборка [Cancelled], пока программа все еще выполняется. - person Devi; 18.12.2013
comment
В IDLE вы можете продолжать использовать оболочку, в которой выполняется ваш код (для проверки объектов, пробования большего количества кода и т. Д.). Как мы это делаем в Sublime? - person pqn; 16.03.2014
comment
@matiit, это круто, но как я могу обработать ввод пользователя? что-то вроде guessNumber = input if guessNumber > 10: do_something()? после того, как я ввожу номер и нажимаю Enter, возвышенная консоль начинает новую строку вместо обработки оператора if. - person Houy Narun; 26.02.2018

Отредактируйте% 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, которая есть в вашей системе.

person ppy    schedule 07.03.2012
comment
Обратите внимание на двойную косую черту на пути, иначе Sublime не узнает ее! - person Enrico; 30.06.2012
comment
Одинарная косая черта также работает вместо двойной обратной косой черты в Windows: C: /Python27/python.exe (а-ля Linux и OSX) - person Dylan Hogg; 02.07.2012
comment
Для меня путь был% APPDATA% \ Sublime Text 2 \ Packages \ Python \ Python.sublime-build - person aultimus; 28.08.2013
comment
Кажется, я не вижу папку Python в Sublime Text 3 - person HoKy22; 22.06.2015

В Mac OS X сохраните файл с расширением .py. Нажмите + B. Он запускается в окне ниже.

введите описание изображения здесь

person bobobobo    schedule 14.06.2013

Для ЗАПУСКА нажмите 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

Если вы не можете запустить python из cmd, 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;C:\Python27\Scripts в конце строки. Путь установки в Win7

  • Чтобы установить путь интерпретатора, не вмешиваясь в Систему %PATH%, см. Этот ответ ppy.

person Qwerty    schedule 12.02.2013
comment
Извините, но вы можете объяснить, что означает опция -u? Я не могу найти параметр списка параметров командной строки для передачи вместе с python.exe. - person Jim Raynor; 19.04.2014
comment
@JimRaynor это небуферизованные потоки stackoverflow.com/questions/14258500/significance-of -u-option - person Qwerty; 19.04.2014

Вы можете использовать SublimeREPL (вам необходимо иметь Управление пакетами установлено первым).

person invis    schedule 23.07.2012
comment
Не могли бы вы подробнее рассказать, как отправлять данные из окна скрипта в SublimeREPL, потому что он работает для python, а R работает ... - person Matt Bannert; 28.10.2014

Если вы используете python 3.x, вам необходимо отредактировать Python3.sublime-build

(Настройки> Обзор пакетов> Python 3)

чтобы выглядеть так:

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

[Это относится к ST3 (Win), не уверен в ST2]

Чтобы вывод был виден в Sublime как другой файл (+ один для ошибок), сделайте следующее:

  1. Создайте новую систему сборки: Tools > Build Systems > New Build System...
  2. Используйте следующую конфигурацию:

    {
        "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 столбца или сетку, вы сразу увидите результат, без необходимости переключать панели / окна.
person ellockie    schedule 19.11.2016

В python v3.x вы должны перейти по адресу: Tools->Build System->New Build System.

Затем в возвышенном текстовом редакторе появляется всплывающее окно 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-build.

Затем выберите новую Систему сборки и нажмите cltr+b или другой вариант в зависимости от вашей ОС.

person susan097    schedule 06.12.2017

Круто, ребята, я только что нашел это:

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. В любом случае, забавная фраза, а? И большое спасибо тому, кто написал эту статью ;-)

person anhoppe    schedule 14.06.2013
comment
Решил и мою проблему. Вывод в консоль появлялся в Sublime Text 2, показывая, что мой код выполняется, но мой графический интерфейс так и не появился. Я прокомментировал эту строку, и вот она. Консольный вывод по-прежнему идет в Sublime Text. Идеально! - person Jonathan Lidbeck; 15.08.2014

Решил эту проблему:

> Preferences –> Browse Packages –> Default 

Откройте файл exec.py, рядом со строкой 41-42, код должен выглядеть так:

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'
person Rhea    schedule 08.01.2013
comment
что он делает на самом деле? Как это помогает? - person Qwerty; 14.06.2013
comment
@Qwerty Он подумал, что программа должна обрабатывать исключения, поэтому поместил код в блок try. - person CHM; 11.10.2013
comment
Я пробовал это. Это не устранило проблему и нарушило существующее поведение. - person Jonathan Lidbeck; 15.08.2014

Сегодня я столкнулся с той же проблемой. И вот как мне удалось запустить код Python в Sublime Text 3:

  1. Нажмите Ctrl + B (для Mac, + B), чтобы запустить систему сборки. Теперь он должен выполнить файл.
  2. Следуйте этому ответу, чтобы понять, как настроить систему сборки.

Что вам нужно сделать дальше, так это заменить содержимое в Python.sublime-build на

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

Вы, конечно, можете дополнительно настроить его так, чтобы он работал для вас.

person C Huang    schedule 30.01.2017

кажется, Ctrl + Break не работает на меня, ни Preference - User ...

используйте клавиши, Alt → t → c

person Mark K    schedule 15.07.2020

Вы можете получить доступ к консоли Python через «Просмотр / Показать консоль» или Ctrl + `.

person poke    schedule 18.12.2011
comment
но он показывает следующую ошибку: File. \ exec.py, строка 109, в run File. \ ntpath.py, строка 205, в dirname File. \ ntpath.py, строка 170, в разделенном File. \ ntpath.py, строка 125, в splitdrive TypeError: объект 'NoneType' не подлежит подписке - person neo; 19.12.2011
comment
Расскажите подробнее (развернув вопрос) о том, что вы делаете. - person poke; 19.12.2011
comment
Я просто набираю код Python, например, напечатайте «привет», а затем создаю его и открываю консоль, чтобы увидеть эту ошибку. - person neo; 20.12.2011
comment
Использование консоли Python не дает ответа на вопрос. Встроенный интерпретатор предназначен только для взаимодействия с API плагина, а не для общей разработки. - person mkenyon; 22.04.2013

У меня такая же проблема. Вероятно, вы еще не сохранили файл. Обязательно сохраните свой код с расширением .py, и он должен работать.

person Onat    schedule 28.04.2012

Одно замечание по поводу вышеупомянутой системы сборки: вы можете писать (и использовать) собственные .sublime-build файлы или даже для каждого проекта build_systems (в настройках вашего проекта). Это позволяет вам делать полезные вещи, например, необычный инструмент запуска тестов с выводом цветов ANSI .

Чтобы получить еще больше «полных функций IDE», вы можете использовать отличный пакет SublimePythonIDE:

  • завершение кода (Intel)
  • перейти к определению и описанию объекта
  • правильный линтинг / pep8
  • поддерживает разные интерпретаторы с помощью virtualenv

Раскрытие информации: я написал PR для этого пакета, и я использую его все время, но есть являются другие.

person tutuDajuju    schedule 04.05.2015

Используйте настоящую консоль Python вместе с Sublime

И система сборки Sublime, и SublimeREPL (ответы выше) ограничены тем, что вы не можете легко взаимодействовать с переменными рабочей области после запуска файла.

Если вы хотите запустить сценарий, а затем работать в стиле REPL (как в IDE), я рекомендую открыть Sublime вместе с консолью IPython. Используя AutoHotKey (Windows) или AutoKey (Linux), вы можете настроить это так, чтобы один ярлык копировал имя файла (или только выбранный код), а затем вставлял его в консоль для запуска файла.

Подробные инструкции для Linux или Windows

person hugke729    schedule 28.12.2017