Sublime Text 3 как Python IDE

Опубликовано 07 December 2015 в Редакторы и IDE

Пока на RealPython разжигают войну IDE и объясняют как настроить под разработку на Python под Sublime, VIM и Emacs, я расскажу почему я переехал (пока) на Sublime Text 3, как я его настроил. А также отмечу чего в нем не хватает для счастливой разработки.

PyCharm замечательная IDE для Python. Это несомненно, но если нужно разрабатывать full-stack, то им одним не обойтись. На работе это не проблема. Но вот дома покупать лицензию на все продукты JetBrains ради экспериментов накладно. Две недели назад я решил посмотреть альтернативы. Vim и Emacs отвалились из-за их идеологии и сложности в настройке. Eclipse заставляет тормозить даже очень мощные компьютеры, что говорить про мой слабенький домашний лэптоп. По факту в кандидатах остался только Sublime Text.

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

  • Подсветка синтаксиса
  • Умный автокомплит
  • Переход к определениям
  • Проверка файла на ошибки
  • Автоимпорт

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

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

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

Анаконда использует pyflakes в качестве линтера. Он работает прекрасно. Но я предпочитаю использовать Sublime​Linter-pyflakes (требует для своей работы SublimeLinter). Подойдет если нужны одинаковые настройки линтеров под разные языки.

Для проверки форматирования я использую Sublime​Linter-pep8 с такими настройками:

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

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

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

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

---
Возник вопрос? Мне всегда можно написать в Twitter: avkorablev