Sublime Text 3: плагины для Python-разработки

Если в Sublime Text 3 не работает автодополнение Python-кода или редактор не подсвечивает ошибки синтаксиса, причина почти всегда одна — не установлены специализированные плагины. «Из коробки» редактор умеет лишь базовую подсветку синтаксиса, а вся «умная» функциональность — автокомплит, линтинг, навигация по коду, запуск скриптов — добавляется через пакеты из Package Control.

В этой статье разберём, какие плагины действительно нужны Python-разработчику, как их установить и настроить, какие конфликты между ними возникают и что проверить, если после установки ничего не заработало. Материал ориентирован на Sublime Text 3 (сборки 3xxx), но большинство пакетов актуальны и для Sublime Text 4.

Package Control — основа всей экосистемы

Прежде чем ставить любой плагин, необходимо установить Package Control — менеджер пакетов, без которого добавление расширений превращается в ручное копирование файлов. Самый надёжный способ установки — через меню Tools → Install Package Control (в свежих сборках пункт присутствует по умолчанию). После завершения редактор предложит перезапуск.

Установка любого плагина затем выполняется единообразно: откройте палитру команд сочетанием Ctrl+Shift+P, введите Package Control: Install Package, дождитесь загрузки списка репозиториев и выберите нужный пакет по имени.

☑️ Проверка готовности Sublime Text 3 к Python-разработке

Выполнено: 0 / 5
⚠️ Внимание: если Package Control не видит список пакетов и выдаёт ошибку соединения, проверьте, не блокирует ли антивирус или корпоративный прокси доступ к packagecontrol.io. В настройках Package Control можно указать прокси вручную.

Anaconda — превращаем редактор в IDE

Главный плагин для Python в Sublime Text 3 — это Anaconda (не путать с дистрибутивом Anaconda для data science, это разные проекты). Плагин добавляет автодополнение на базе Jedi, проверку кода «на лету», подсказки по сигнатурам функций и переход к определению.

После установки Anaconda пытается найти интерпретатор Python автоматически, но нередко подхватывает не тот. Путь к нужному интерпретатору задаётся в настройках проекта или глобально через Preferences → Package Settings → Anaconda → Settings – User:

{

"python_interpreter": "C:/Python311/python.exe"

}

Если вы работаете с виртуальными окружениями, укажите путь к python.exe внутри папки venv конкретного проекта — иначе автодополнение не увидит установленные в окружении библиотеки. Это самая частая причина жалоб «импорты подчёркнуты, хотя пакет установлен».

  • 🚀 Автодополнение и подсказки аргументов функций через Jedi
  • 🔍 Подчёркивание ошибок и нарушений PEP 8 прямо в редакторе
  • 📦 Поддержка виртуальных окружений через настройку интерпретатора
  • 🧭 Переход к определению и поиск использований символа

Линтеры: SublimeLinter и flake8

Альтернативный (или дополнительный) путь — связка SublimeLinter и SublimeLinter-flake8. В отличие от Anaconda со встроенными проверками, SublimeLinter является фреймворком: он запускает внешние утилиты (flake8, pylint, mypy) и показывает их вывод в редакторе.

Порядок установки важен: сначала сам SublimeLinter, затем плагин-адаптер под конкретный линтер, и наконец сама утилита должна быть установлена в Python-окружение через pip install flake8. Если пропустить последний шаг, в консоли Sublime Text (Ctrl+`) появятся ошибки вида «linter not found».

📊 Какой инструмент проверки кода вы используете в Sublime Text?
Anaconda (встроенный линтинг)
SublimeLinter + flake8
Pylint через SublimeLinter
Не использую линтеры
⚠️ Внимание: одновременная работа встроенного линтинга Anaconda и SublimeLinter приводит к дублированию подчёркиваний и лишней нагрузке. Оставьте одну систему проверки — в Anaconda линтинг отключается параметром "anaconda_linting": false.

Сравнение популярных плагинов

Чтобы выбрать подходящий набор, полезно видеть различия в одном месте. Ниже — сравнение ключевых пакетов по назначению и зависимостям.

ПлагинНазначениеВнешние зависимости
AnacondaАвтодополнение, линтинг, навигацияТолько интерпретатор Python
SublimeLinter-flake8Проверка стиля и ошибокflake8 в окружении Python
SublimeREPLЗапуск интерактивной консоли PythonИнтерпретатор Python
GitGutterОтметки изменений относительно gitGit в системе
DocBlockrБыстрое оформление docstringНет

Обратите внимание: плагины без внешних зависимостей (вроде DocBlockr) работают сразу после установки, а инструментам, опирающимся на Python-окружение, почти всегда нужна дополнительная настройка путей.

Запуск кода и REPL

Для запуска скриптов есть два подхода. Простейший — встроенная система сборки: Tools → Build System → Python, затем Ctrl+B. Вывод появится в панели внизу редактора. Ограничение способа в том, что стандартная сборка не поддерживает ввод данных с клавиатуры — скрипт с input() зависнет или завершится с ошибкой.

Для интерактивной работы установите SublimeREPL — он открывает полноценную консоль Python прямо во вкладке редактора и позволяет отправлять в неё выделенные фрагменты кода. Это удобно при отладке и экспериментах с библиотеками.

Дополнительно стоит упомянуть Terminus — эмулятор терминала внутри Sublime Text. Он заменяет связку «редактор + отдельное окно консоли» и корректно обрабатывает интерактивный ввод, в отличие от стандартной панели сборки.

Форматирование и качество кода

Для автоматического форматирования по PEP 8 используются плагины-обёртки над black или autopep8. Принцип тот же, что у линтеров: утилита ставится через pip, а плагин лишь вызывает её для текущего файла. Форматирование обычно вешается на горячую клавишу или выполняется при сохранении.

  • black — «бескомпромиссный» форматтер с минимумом настроек
  • 🔧 autopep8 — аккуратно исправляет нарушения PEP 8, сохраняя стиль
  • 📏 isort — сортирует и группирует импорты

Перед включением автоформатирования при сохранении убедитесь, что вся команда проекта использует тот же инструмент — иначе каждый коммит будет содержать массу косметических изменений, затрудняющих код-ревью.

Как задать горячую клавишу для форматирования

Откройте Preferences → Key Bindings и в правую панель (пользовательские привязки) добавьте объект вида { "keys": ["ctrl+alt+f"], "command": "название_команды_плагина" }. Точное имя команды смотрите в файле Default.sublime-commands установленного плагина.

Типичные проблемы и их диагностика

Если после установки плагина ничего не изменилось, первым делом откройте консоль редактора сочетанием Ctrl+` — туда пишутся все ошибки загрузки пакетов. Сообщение вида ImportError или plugin_host has exited unexpectedly указывает на несовместимость версии плагина с вашей сборкой редактора.

Вторая по частоте причина — конфликт путей к Python. Проверка проста: выполните в системной командной строке python --version и сравните результат с тем интерпретатором, который указан в настройках плагина. Несовпадение версий объясняет «фантомные» ошибки импорта.

Наконец, помните, что Sublime Text 3 давно не обновляется мажорно, и часть пакетов постепенно прекратила его поддержку, ориентируясь на Sublime Text 4. Если плагин отказывается устанавливаться, проверьте на странице пакета в Package Control, какие версии редактора заявлены как поддерживаемые.

Часто задаваемые вопросы

Чем Anaconda в Sublime Text отличается от дистрибутива Anaconda?

Это совершенно разные проекты с совпадающими названиями. Плагин Anaconda — расширение редактора для автодополнения и линтинга Python-кода. Дистрибутив Anaconda — сборка Python с пакетами для анализа данных. Они не зависят друг от друга и могут использоваться как вместе, так и по отдельности.

Почему автодополнение не видит установленные через pip библиотеки?

Почти всегда причина в том, что плагин настроен на другой интерпретатор, чем тот, в который ставились пакеты. Проверьте параметр python_interpreter в настройках Anaconda и убедитесь, что он указывает на то же окружение, где выполнялся pip install.

Можно ли запускать скрипты с input() прямо из редактора?

Стандартная система сборки (Ctrl+B) интерактивный ввод не поддерживает. Используйте плагины SublimeREPL или Terminus — они предоставляют полноценный терминал внутри редактора, где input() работает корректно.

Какие плагины нужны минимально для комфортной работы?

Достаточный минимум: Package Control, Anaconda (автодополнение и проверки) и GitGutter, если вы используете git. Остальное — форматтеры, REPL, сниппеты — добавляется по мере необходимости.

Поддерживается ли Sublime Text 3 современными плагинами?

Частично. Многие популярные пакеты по-прежнему работают в третьей версии, но новые разработки ориентируются на Sublime Text 4, где обновлён API и движок подсветки. Если вы только настраиваете среду, разумно рассмотреть переход на четвёртую версию редактора.