Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save simplesasha/73005e8e08065d8c360dba09dc86626b to your computer and use it in GitHub Desktop.
Save simplesasha/73005e8e08065d8c360dba09dc86626b to your computer and use it in GitHub Desktop.
Интеграция Python 3 в Sublime Text 3 (простая и интерактивная консоль REPL)
1. Открываем Sublime Text -> Tools -> Build System -> New Build System
2. Вставляем в открывшийся файл следующие строки, чтобы получилось вот так:
{
"cmd": ["python3", "-i", "-u", "$file"],
"file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
"selector": "source.python"
}
3. Сохраняем файл с названием python3.sublime-build и не меняем путь предложенный редактором
4. Идем и ставим галочку Tools -> Build system -> python3
Если вам не требуется передавать через консоль в программу аргументы (например input()), то вы уже можете проверить
работу создав и сохранив (без сохранения будет ошибка) тестовый файл, а затем нажав Ctrl+B. Снизу
появится консоль с выводом результата.
Для проверки предлагаю выполнить следующий код:
import sys
print(sys.version)
-----Делаем интерактивную консоль-----
5. Заходим на сайт https://packagecontrol.io/installation и копируем содержимое бокса Sublime Text 3 в буфер обмена.
6. Открываем Sublime Text -> View -> Show Console и вставляем содержимое буфера обмена, затем жмем Enter. Если у вас
ничего не произошло, то выполните ручную установку описанную на сайте из пункта 5.
7. Жмем Ctrl+Shift+P -> пишем Install Package -> пишем sublimeREPL и устанавливаем.
8. Поскольку в sublimeREPL установлен python 2, то идем в Sublime Text -> Preferences -> Browse Packages
9. Открываем в текстовом редакторе файл SublimeREPL -> config -> Python -> Main.sublime-menu
10. Находим внутри этого файла столбик с аргументами children -> args -> cmd и меняем значение "python" на "python3".
Сохраняем и закрываем файл.
11. Открываем тестовый python-файл (например из пункта 4)
12. Открываем консоль редактора как в пункте 6 и пишем sublime.log_commands(True)
13. Sublime Text -> Tools -> sublimeREPL -> Python -> Python RUN current file и затем копируем из консоли строку repl_open
целиком со всеми аргументами.
14. В консоли пишем sublime.log_commands(False)
15. Sublime Text -> Preferences -> Key Bindings. Забиндим хоткей для быстрого исполнения файла в интерактивной консоли REPL
16. Вставьте в User-конфиг (он пустой) следующий код (ключ keys сделайте свой по желанию, в "сommand" пишите "repl_open", а
в "args" закидываете все атрибуты которые скопировали из консоли. Их не обязательно так разбивать по строкам, можно все
в одну оставить:
[
{ "keys": ["ctrl+b"],
"command": "repl_open",
"args": {"cmd": ["python", "-i", "-u", "$file_basename"],
"cwd": "$file_path",
"encoding": "utf8",
"extend_env": {"PYTHONIOENCODING": "utf-8"},
"external_id": "python",
"syntax": "Packages/Python/Python.tmLanguage",
"type": "subprocess"} },
]
17. Сохраняем файл, перезапускаем Sublime Text и используем заданный хоткей.
@akuzt
Copy link

akuzt commented Apr 9, 2019

Супер гайд. У меня все получилось. В десятом пункте, правда, там несколько значений пришлось поменять на python3. Все работает. Инпуты принимает, хоткей работает, питон стал третьей версией.

@GleranPro
Copy link

После бинда интерактивной консоли начало выскакивать "FileNotFoundError(2, 'Не удается найти указанный файл.', None, 2)
Как можно это исправить?

@VadimSimon
Copy link

VadimSimon commented Sep 16, 2019

После бинда интерактивной консоли начало выскакивать "FileNotFoundError(2, 'Не удается найти указанный файл.', None, 2)
Как можно это исправить?

У меня возникала та же ошибка, в пункте 4 и 13 соответственно:
[WinError 2] The system cannot find the file specified
[cmd: ['python3', '-i', '-u',

окно с надписью:
FileNotFoundError(2, 'The system cannot find the file specified.',None, 2)

Настроил директории, заработало.
Мне помогло указать конкретный путь до python.exe вместо "python" или "python3"
в моем случае это было "D:\Users\AppData\Local\Programs\Python\Python37-32\python.exe"
Заменял при создании BuildSystem и редактировании RELP
Пример
{
"cmd": ["D:\Users\AppData\Local\Programs\Python\Python37-32\python.exe", "-i", "-u", "$file"],
"file_regex": "^[ ]File "(...?)", line ([0-9]*)",
"selector": "source.python"
}

@phuneral
Copy link

Спасибо, помогло!

@Robisho
Copy link

Robisho commented Jan 8, 2020

скажите, пожалуйста, как сделать так, чтобы REPL консоль открывалась снизу окна, а не во вкладке? спасибо.

@Aliph0th
Copy link

Спасибо! Как сделать, чтобы repl открывал именно консоль, а не новую вкладку?

@denis118
Copy link

denis118 commented Apr 4, 2020

Все получилось. Спасибо!

@SergeiVlad
Copy link

Когда дело доходит до запуска файла через репл (при выполнении пункта 13), в консоли репла получаю следующее: Repl Closed. Кто нибудь сталкивался с данной проблемой? Подскажите пожалуйста в чем причина, что консоль не активна и как это можно исправить?

@noolfon
Copy link

noolfon commented Jan 12, 2021

Sublime Text -> View -> Show Console
внизу появится консоль, туда вводим команду
sublime.log_commands(True)
Далее с 13-го пункта.

@AleksVersus
Copy link

AleksVersus commented Mar 6, 2021

Когда дело доходит до запуска файла через репл (при выполнении пункта 13), в консоли репла получаю следующее: Repl Closed. Кто нибудь сталкивался с данной проблемой? Подскажите пожалуйста в чем причина, что консоль не активна и как это можно исправить?

Блин, такая же хрень. Трижды делал по разным инструкциям, сносил и устанавливал REPL несколько раз, однофигственно - Repl Closed и всё. Впрочем и в консоли на 4м пункте ничего кроме времени выполнения не пишет.

UPD^^^: Не поверите, что помогло! Прописать полные пути до исполняемого файла Python!!! Как отмечали ребята выше. Всё. REPL заработал, как консоль!

@LonelyDovakin
Copy link

LonelyDovakin commented Mar 10, 2021

Небольшая проблема, все сделал несколько раз как в инструкции, все перепроверял, после 16 пункта результат кода стал выводится в новое окно, а не в консоль.
Не понимаю что делать, помогите пж.

@AleksVersus
Copy link

Небольшая проблема, все сделал несколько раз как в инструкции, все перепроверял, после 16 пункта результат кода стал выводится в новое окно, а не в консоль.
Не понимаю что делать, помогите пж.

@LonelyDovakin если хочешь, чтоб результат выводился в консоль, делай всё до 4го пункта. Затем пропускай пункты и начинай с 15го. В шестнадцатом пункте вместо всего этого кода пишешь:

[
	{ "keys": ["ctrl+b"],
		"command": "build",
		"args": 
		{"build_system": "Packages/User/python3.sublime-build"}
	}
]

вместо ctrl+b можно подставить свою комбинацию. Я например ctrl+f5 поставил.

@Muhammadyusuf96
Copy link

Это исправить функцию input()?

@sadykovn
Copy link

sadykovn commented Dec 3, 2021

  1. Открываем тестовый python-файл (например из пункта 4)
    Не понимаю этой пример

@AleksVersus
Copy link

AleksVersus commented Dec 26, 2021

  1. Открываем тестовый python-файл (например из пункта 4)
    Не понимаю этой пример

@sadykovn напиши файл с именем test.py, а в этом файле две строчки кода:

import sys
print(sys.version)

@Demanoz
Copy link

Demanoz commented Feb 1, 2022

Здравствуйте, почитал комментарии, понял, что с моей проблемой никто не сталкивался, если ещё можно обратиться с проблемой, то буду очень признателен!
Моя проблема заключается в том, что у меня не выводит в консоль ответ, а просто пишет "Python", подскажите можно ли как-то решить эту проблему?
Спасибо!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment