Настройка редактора Sublime Text для Python

Раздел: Инструменты -> IDE

Настройка Sublime Text для разработки на Python

Для эффективной работы с Python в Sublime Text требуется не только установка интерпретатора, но и правильная конфигурация редактора: подбор плагинов, настройка сборок, линтеров и отладчика. Ниже рассмотрены основные подходы, от наиболее универсального до специализированных решений.

Как создать универсальную среду для Python с помощью Package Control и Anaconda?

Самый надежный способ - установить менеджер пакетов Package Control и затем через него несколько ключевых плагинов.

  1. Установите Package Control: откройте консоль Ctrl+` и вставьте код с официального сайта (https://packagecontrol.io/installation).
  2. Через Ctrl+Shift+P выберите Package Control: Install Package и установите плагины:
    • Anaconda - автодополнение, линтинг, навигация по коду.
    • SublimeREPL - интерактивная консоль Python внутри редактора.
    • Python IDE - улучшенное автодополнение и поддержка виртуальных окружений.

// Пример настроек Anaconda (Preferences > Package Settings > Anaconda > Settings – User)
{
  "python_interpreter": "/usr/bin/python3",
  "auto_formatting": true,
  "pep8": true,
  "anaconda_linting": true
}
  

Sublime text python (настройка sublime text для python)

После перезапуска Sublime Text будет доступно автодополнение, проверка синтаксиса и автоформатирование по PEP8.

Проблема: Плагин не видит установленные библиотеки или выдает ложные ошибки. Решение - указать правильный путь к интерпретатору Python (особенно в виртуальных окружениях) в настройках Anaconda.

Ошибка: "The 'anaconda_linter' plugin crashed" - чаще всего из-за несовместимости версий. Обновите Anaconda через Package Control или отключите линтинг, если он не нужен.

Цель использования: Быстрая настройка IDE-подобной среды с минимальными усилиями. Подходит для проектов любого размера, особенно для тех, кто привык к функционалу PyCharm, но хочет легковесный редактор.

Как настроить встроенную сборку Python для запуска скриптов?

Sublime Text имеет встроенную систему сборок (Build Systems). Для Python достаточно создать файл Python.sublime-build в папке Packages/User/.


{
  "cmd": ["python3", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python",
  "encoding": "utf-8",
  "env": {"PYTHONIOENCODING": "utf-8"},
  "variants": [
    {
      "name": "Run in Terminal",
      "shell_cmd": "gnome-terminal -e 'python3 -u \"$file\"'"
    }
  ]
}
  

После сохранения файла выберите Tools > Build System > Python и запускайте код по Ctrl+B. Результат появится во встроенной консоли (нижняя панель).

Проблема: Кодировка вывода (например, русские символы в виде кракозябр). Решение - добавить поле "env": {"PYTHONIOENCODING": "utf-8"}. Если консоль все еще не показывает Unicode, установите плагин SublimeREPL.

Ошибка: "python3: not found" - интерпретатор не добавлен в PATH. Укажите полный путь в "cmd", например "/usr/bin/python3".

Случаи использования: Быстрый запуск отдельных файлов без тяжелых плагинов. Подходит для небольших скриптов и обучения.

Как добавить линтинг и автоформатирование через SublimeLinter и Flake8?

Для любителей чистого кода подойдет связка SublimeLinter + SublimeLinter-flake8.

  1. Установите через Package Control: SublimeLinter и SublimeLinter-flake8.
  2. Убедитесь, что в системе установлен flake8 (pip install flake8).
  3. Настройте SublimeLinter: Tools > SublimeLinter > Open User Settings.

{
  "linters": {
    "flake8": {
      "@disable": false,
      "args": ["--max-line-length=120"],
      "excludes": []
    }
  },
  "styles": {
    "fill_error": true
  }
}
  

Теперь при сохранении файла SublimeLinter будет подсвечивать нарушения PEP8 и ошибки. Для автоформатирования можно использовать плагин AutoPEP8 или Black.

Проблема: Линтер не запускается, если нет исполняемого flake8 в PATH. Проверьте установку: which flake8. В Windows добавьте папку Scripts из Python в PATH.

Ошибка: "SublimeLinter: ERROR: flake8 cannot locate a Python interpreter" - укажите путь к интерпретатору в настройках плагина.

Случаи использования: Разработка в команде с жесткими стандартами кодирования. Позволяет автоматически выявлять стилистические ошибки.

Как использовать Jupyter Notebook внутри Sublime Text через Hydrogen?

Плагин Hydrogen позволяет выполнять код Python в ячейках, аналогично Jupyter, но без веб-интерфейса.

  1. Установите Hydrogen через Package Control.
  2. Установите ядро Jupyter для Python: pip install jupyter.
  3. Откройте файл .py, выделите строку или блок кода и нажмите Ctrl+Enter - код выполнится, результат появится рядом.

# Пример кода с ячейками для Hydrogen
# %%
import pandas as pd
df = pd.DataFrame({'a': [1,2,3]})
print(df)

# %%
# Следующая ячейка
print(df.mean())
  

Проблема: Hydrogen не находит установленное ядро Jupyter. Решение - запустить jupyter kernelspec list и убедиться, что ядро для Python присутствует. Если нет, добавьте python -m ipykernel install --user.

Ошибка: Hydrogen зависает при запуске - возможно, не хватает ресурсов. Перезапустите Sublime Text или увеличьте таймаут в настройках плагина.

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

Расширенные примеры настройки и использования

1. Файл сборки для виртуального окружения с автоматической активацией

Создайте virtualenv.sublime-build в папке User:

Пример

{
  "cmd": ["bash", "-c", "source venv/bin/activate && python3 -u \"$file\""],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python",
  "encoding": "utf-8",
  "env": {"PYTHONIOENCODING": "utf-8"}
}

Результат: При нажатии Ctrl+B скрипт выполнится внутри указанного виртуального окружения. Если окружения нет, сборка выдаст ошибку.

[Error 2] The system cannot find the file specified (на Windows, если используете bash)

Для Windows замените bash на cmd и команду активации: source venv/scripts/activate && python -u "$file".

2. Пользовательские сниппеты для стандартных конструкций Python

Создайте сниппет через Tools > Developer > New Snippet...

Пример

<snippet>
  <content><![CDATA[
def ${1:function_name}(${2:args}):
    """${3:Docstring}"""
    ${4:pass}
]]></content>
  <tabTrigger>defw</tabTrigger>
  <scope>source.python</scope>
  <description>Function with docstring</description>
</snippet>

Сохраните как Python_function.sublime-snippet в папке Packages/User/. Теперь при вводе defw и нажатии Tab появится заготовка функции.

Результат: Более быстрая запись boilerplate-кода.

3. Горячие клавиши для запуска выделенного кода через SublimeREPL

Откройте Preferences > Key Bindings (User) и добавьте:

Пример

[{
  "keys": ["ctrl+shift+e"],
  "command": "repl_open",
  "args": {
    "type": "subprocess",
    "encoding": "utf8",
    "cmd": ["python3", "-i", "-u", "$file"],
    "cwd": "$file_path",
    "external_id": "python",
    "view_id": "*REPL* [python]"
  }
}]

Теперь по Ctrl+Shift+E откроется REPL-консоль с загруженным файлом. Связка с выделением кода (SublimeREPL уже имеет команду repl_transfer_current) позволяет выполнять куски.

4. Настройка отладчика через плагин SublimeText-Python-Debugger

Установите SublimeText-Python-Debugger через Package Control. Затем создайте файл .pdb_config.py в корне проекта:

Пример

import pdb
pdb.set_trace()
# Затем запустите отладку:
# Tools > Python Debugger > Launch

Для удобства добавьте горячую клавишу для установки breakpoint: "keys": ["f9"], "command": "python_debugger_toggle_breakpoint".

5. Интеграция с Git: подсветка изменений и быстрая навигация

Установите GitGutter и SideBarGit. GitGutter покажет изменения в gutteре слева, SideBarGit добавит контекстное меню в боковой панели.

Пример

# Настройка GitGutter (Preferences > Package Settings > GitGutter > Settings – User)
{
  "non_blocking": true,
  "show_untracked": false
}

Теперь при редактировании файла вы видите добавленные/удаленные строки. Для быстрой фиксации: Ctrl+Shift+P > Git: Commit.

Настройка Sublime Text для Python - comments

En
Sublime text python (python)