Пока на RealPython разжигают войну IDE и объясняют, как настроить среду разработки на Python под:

Я расскажу, почему я (пока) переехал на Sublime Text 3 и как я его настроил. А также отмечу, чего в нём не хватает для счастливой разработки.

PyCharm — замечательная IDE для Python. Это, несомненно, так, но если нужно разрабатывать full‑stack, то одним им не обойтись. На работе это не проблема. Но вот дома покупать лицензию на все продукты JetBrains ради экспериментов накладно.

Две недели назад я решил посмотреть альтернативы. Vim и Emacs отвалились из‑за их идеологии и сложности в настройке. Eclipse заставляет тормозить даже очень мощные компьютеры — что говорить про мой слабенький домашний лэптоп? По факту в кандидатах остался только Sublime Text.

Он у меня и так открыт постоянно: в нём я веду TODO‑листы, в нём пишу в блог, в нём же открываю большую часть файлов, которые не являются частью проекта. При этом больших требований к IDE у меня нет. Нужны, в общем‑то, только эти вещи:

  • подсветка синтаксиса;
  • умный автокомплит;
  • переход к определениям;
  • проверка файла на ошибки;
  • автоимпорт.

Подсветка синтаксиса в Sublime есть из коробки. Остальное настраивается достаточно легко. PyCharm‑овский дебаггер легко заменяется.

Мои настройки Sublime похожи на предложенный вариант от RealPython. В качестве базы для IDE я использую Anaconda. Настройки не менял. Только в пользовательских настройках прописал интерпретатор (иначе не работал переход к определению) и выключил линтинг:

{
  "anaconda_linting": false,
  "python_interpreter": "python"
}

Anaconda использует pyflakes в качестве линтера. Он работает прекрасно. Но я предпочитаю использовать SublimeLinter‑pyflakes (требует для своей работы SublimeLinter). Подойдёт, если нужны одинаковые настройки линтеров под разные языки.

Для проверки форматирования я использую SublimeLinter‑pep8 с такими настройками:

{
  "pep8": {
    "@disable": false,
    "args": [],
    "excludes": [],
    "ignore": "",
    "max-line-length": 120,
    "select": ""
  }
}

Проверка на достаточно большом и сложном проекте показала, что автокомплит и переход к определениям работают не хуже, чем в PyCharm.

Интеграцию с Git обеспечивают Git и GitGutter. Первый помогает в простых случаях взаимодействовать с Git, не выходя из редактора, — добавляя команды Git в Control Panel. Второй подсвечивает изменённые строки в файле.

По итогам двух недель единственная сложность, которая возникла, — разрешение конфликтов мерджа. Инструмент для мерджа в PyCharm незаменим. И пока, похоже, только он сможет заставить меня отказаться от использования Sublime Text.