PyCharm — среда разработки для Python
PyCharm — самая популярная интегрированная среда разработки для Python. Она ускоряет написание кода с помощью умного автодополнения, встроенного отладчика и полной интеграции с Git.
1. Что такое PyCharm и зачем он нужен
PyCharm разрабатывает компания JetBrains. В отличие от простого текстового редактора, IDE понимает структуру проекта и помогает писать код быстрее и с меньшим числом ошибок.
- Автодополнение кода — PyCharm подсказывает имена функций, переменных и их параметры.
- Встроенный отладчик — останавливает программу в любой точке и показывает значения переменных.
- Git-интеграция — commit, push и pull выполняются кнопками, без терминала.
- Проверка кода — ошибки подсвечиваются сразу, рядом предлагаются быстрые исправления.
- Виртуальные окружения — создаются и подключаются одной кнопкой.
Community или Professional
PyCharm выпускается в двух редакциях. Для обучения и большинства проектов достаточно бесплатной Community.
| Возможность | Community | Professional |
|---|---|---|
| Цена | бесплатно | платная подписка |
| Python, pytest, отладка | да | да |
| Git-интеграция | да | да |
| Поддержка Django, Flask, FastAPI | нет | да |
| Клиент баз данных и SQL | нет | да |
| Профилирование и удалённый запуск | нет | да |
2. Скачивание и установка
Сначала убедись, что Python установлен. Скачай установщик с официального сайта python.org.
JetBrains Toolbox
JetBrains Toolbox — приложение, которое устанавливает, обновляет и запускает все IDE JetBrains разом. Оно удобнее, чем установка вручную.
- Скачай Toolbox с сайта jetbrains.com.
- Установи и запусти его.
- Во вкладке Available выбери PyCharm Community Edition и нажми Install.
Системные требования
| Компонент | Минимально | Рекомендуется |
|---|---|---|
| ОС | Windows 10, macOS, Linux | актуальная версия ОС |
| Память | 4 ГБ RAM | 8 ГБ RAM и больше |
| Место на диске | 2,5 ГБ | SSD, 5 ГБ |
| Java | не требуется | — |
3. Создание первого проекта
При первом запуске откроется окно приветствия. Нажми New Project.
- Укажи папку проекта — например,
my_first_project. - В поле Interpreter выбери Python, установленный с python.org.
- Отметь галочку Create a welcome script, чтобы сразу увидеть, что всё работает.
- Нажми Create — PyCharm сгенерирует проект и его виртуальное окружение.
Новый проект выглядит так:
my_first_project/
├── .venv/
├── main.py
└── .idea/.venv— виртуальное окружение проекта.main.py— главный файл с кодом..idea— служебные настройки PyCharm, трогать не нужно.
.idea и окружение .venv не отправляют в репозиторий Git — их воссоздают на месте.4. Интерфейс IDE
Основные зоны окна:
- Окно проекта (слева) — дерево файлов и папок проекта.
- Редактор (в центре) — место, где пишется код.
- Панель инструментов (сверху) — кнопки Run, Debug и список конфигураций запуска.
- Панели внизу — вкладки Run, Python Console и Terminal.
Настройка темы и шрифта
Открой File → Settings (Windows и Linux) или PyCharm → Preferences (macOS).
- Appearance & Behavior → Appearance — светлая или тёмная тема интерфейса.
- Editor → Color Scheme — цветовая схема самого кода.
- Editor → Font — шрифт и его размер в редакторе.
Ctrl + клик (Windows) или Cmd + клик (macOS) — откроется предпросмотр без переключения вкладки.5. Виртуальные окружения в PyCharm
Виртуальное окружение — изолированная папка с собственным набором пакетов. Каждый проект получает свои версии библиотек и не конфликтует с соседними.
PyCharm создаёт окружение venv автоматически при создании проекта. Вручную это делается так:
python -m venv .venv
.venv\Scripts\activate (Windows)
source .venv/bin/activate (macOS / Linux)
pip listЧтобы подключить существующее окружение: File → Settings → Project → Python Interpreter → Add Interpreter → Existing.
python.exe из нужного окружения.6. Написание и запуск кода
Открой main.py и напиши простую программу:
def greet(name):
return f"Привет, {name}!"
print(greet("Иван"))
print(2 + 2)Запусти файл кнопкой Run (зелёный треугольник в правом верхнем углу) или через конфигурацию запуска.
Shift+F10 запускает последнюю использовавшуюся конфигурацию — без кликов по панели инструментов.Результат появится в панели Run внизу:
Привет, Иван!
4Если в коде ошибка, PyCharm подсветит её красным ещё до запуска, а при запуске покажет полную трассу с номером строки.
7. Отладка в PyCharm
Отладчик помогает искать ошибки: программа останавливается в нужной строке, и ты видишь все значения переменных.
Точки останова
Кликни по серой полосе слева от номера строки — появится красная точка. Это точка останова (breakpoint). Возьмём функцию:
def factorial(n):
result = 1
counter = 1
while counter <= n:
result *= counter
counter += 1
return result
print(factorial(5))Запусти файл в режиме отладки кнопкой Debug (зелёный жук) или сочетанием Shift+F9. Выполнение остановится на точке останова, и панель отладчика покажет текущие переменные.
Шаги отладки
- Step Over (
F8) — выполнить текущую строку и перейти к следующей. - Step Into (
F7) — войти внутрь вызываемой функции. - Step Out (
Shift+F8) — выйти из текущей функции. - Resume (
F9) — продолжить выполнение до следующей точки останова.
Watches
Во вкладке Watches панели отладчика можно закреплять выражения, которые обновляются на каждом шаге. Добавь result и counter — и ты увидишь, как они меняются после каждой строки цикла.
8. Установка пакетов через PyCharm
Открой File → Settings → Project → Python Interpreter. Внизу окна находится инструмент Python Packages: в нём можно искать пакеты на PyPI и устанавливать их кнопкой Install, без команд.
Тот же результат даёт pip в терминале PyCharm. Открой вкладку Terminal внизу и выполни:
pip install requests
pip install numpy pandas matplotlib
pip listЗависимости проекта принято хранить в файле requirements.txt:
pip freeze > requirements.txt
pip install -r requirements.txtAlt+Enter — код остаётся чистым с самого начала.9. Горячие клавиши
Любую команду PyCharm найдёшь через Ctrl+Shift+A (Cmd+Shift+A на macOS), но часто используемые сочетания стоит запомнить.
| Сочетание | Действие |
|---|---|
| Ctrl+Space | автодополнение кода |
| Shift+F10 | запуск программы |
| Shift+F9 | запуск в режиме отладки |
| Ctrl+D | дублировать строку или выделение |
| Ctrl+/ | закомментировать строку |
| Ctrl+P | показать параметры функции |
| Tab / Shift+Tab | увеличить / уменьшить отступ |
| Alt+Enter | быстрые исправления и подсказки |
| Ctrl+Alt+L | выровнять форматирование кода |
Ctrl используется Cmd, а Shift+F10 и другие F-клавиши закреплены за системой.10. Интеграция с Git
PyCharm понимает Git сразу: меню Git появляется в верхней панели, а изменения файлов показываются в отдельной вкладке.
Клонирование репозитория
File → New → Project from Version Control → Git, вставь URL репозитория и нажми Clone. То же самое делает команда:
git clone https://github.com/user/my-project.gitCommit и push
- Commit (
Ctrl+K) — выбери файлы, напиши сообщение и подтверди. Изменения попадут в локальную историю. - Push (
Ctrl+Shift+K) — отправь коммиты на удалённый сервер. - Pull — заберёт изменения из репозитория в твой проект.
git add .
git commit -m "урок: горячие клавиши"
git push origin main
git log --oneline11. Запуск тестов pytest в PyCharm
PyCharm понимает pytest сразу: тесты можно запускать кнопкой, а результаты видны в отдельной панели. Настройка по умолчанию работает из коробки после pip install pytest.
# в PyCharm: Run -> Edit Configurations -> Python tests -> pytest
# target: test_calculator.py::test_add
# запуск: Shift+F10 в режиме теста- кликни по серому полю рядом с именем теста — появится кнопка Run;
- панель Test Runner показывает все тесты и упавшие;
- Ctrl+Shift+F10 запускает тест под курсором;
- клик по упавшему тесту открывает traceback и «логи» прямо в редакторе.
12. Рефакторинг и навигация
PyCharm даёт безопасные рефакторинги — переименования, которые обновят все использования:
Rename -> Shift+F6
Extract Method -> Ctrl+Alt+M
Extract Variable -> Ctrl+Alt+V
Go to declaration -> Ctrl+B (или Ctrl+клик)- Найти использование — Alt+F7 покажет все места вызова функции;
- Дерево структуры — символы файла в левом верхнем углу редактора;
- переименование локальной переменной — Shift+F6 на имени.
13. Docker и удалённый интерпретатор
PyCharm умеет выполнять код внутри Docker-контейнера, не устанавливая зависимости локально:
Settings -> Project -> Python Interpreter
-> Add Interpreter -> On Docker
[Image: python:3.12, mounts: project]Интерпретатор через SSH нужен для работы на удалённом сервере:
- проект синхронизируется в папку сервера;
- отладка и тесты запускаются удалённо;
- развёрнутые зависимости не дублируются на ноутбуке.
14. Живые шаблоны и полезные плагины
Live Templates генерируют код по короткой аббревиатуре: набери main и нажми Tab — получится стандартный блок if __name__ == "__main__":
def main():
$END$
if __name__ == "__main__":
main()Создай свои: Settings → Editor → Live Templates.
- Scratch files (Ctrl+Alt+Shift+Insert) — черновик без сохранения в проект;
- плагины: Rainbow Brackets, String Manipulation, поддержка .env;
- inspect code всей директории — статический анализ без запуска.
15. Продвинутая отладка: точки, watch и условия
Простой breakpoint останавливает код в каждом проходе — что неудобно в цикле или большой сессии. Включай условия и watch-выражения:
// условная точка останова (правый клик по точке)
price > 5000 and user_id == 42
// watch-выражение в Debug Tool Window:
len(orders), round(total / count, 2)- точка останова с логом (Log message) — вывод значения без остановки;
- Evaluate Expression (Alt+F8) — выполни произвольный код в контексте;
- «Drop Frame» — откатись к началу текущей функции и пройди заново;
- Breakpoints панель хранит все точки и их условия отдельно.
16. Инструменты работы с базой данных
Встроенные Database Tools (движок DataGrip) покрывают рутину без внешних клиентов:
| Операция | Как в PyCharm |
|---|---|
| подключение Postgres/MySQL | Database → New → Data Source |
| запуск SQL | напиши запрос в файле и нажми Shift+Enter |
| таблицы и схема | панель Database + Generate → JPA/POJOs |
| миграции и типы | консоль только для терминала: psql/mysql |
Run -> Edit Configurations -> Environment variables:
DATABASE_URL=postgres://app:pass@localhost:5432/shop17. Профилирование и поиск узких мест
Профайлер PyCharm на базе cProfile покажет, где приложение «стоит»:
// запуск с профилировщиком
Run -> Attach to Process... -> Profiler
или: конфигурация Run -> Python Profiler
Смотрю: Calls / cumtime — общее время с вложенными вызовами.- сортировка по
cumulative— дерево времени по виновникам; - ищи «мелкие» функции с огромным числом вызовов — типичная оптимизация;
- не оптимизируй «на глаз»: только по данным профайлера, потом замер до/после.
18. Скорость работы IDE и чек-лист производительности
Тормозящая IDE съедает концентрацию незаметно. Быстрый чек-лист:
- включи меньше плагинов: Settings → Plugins — отключи всё неиспользуемое;
- память: Help → Change Memory Settings (увеличь heap при больших проектах);
- исключи тяжёлые каталоги из индексации: node_modules, venv, data — Excluded;
- Power Save Mode при активных тренингах и на батарее;
- инспекции: отключи тяжёлые, которые не используешь — они гоняются постоянно.
Settings -> Editor -> Inspections
-> отключить: "Unused imports" в классах, лишние проверки стиля19. Навигация по большому коду
В крупном проекте навигация — половина скорости работы. «Двойной Shift» (Search Everywhere) ищет файлы, классы и действия за два нажатия:
Ctrl+Shift+N — Go to File (по имени)
Ctrl+Shift+F — Find in Files (по всему проекту)
Ctrl+B — Go to Declaration (перейти к определению)
Ctrl+Shift+Backspace — последняя правка- Search Everywhere: набери `file:user.py` — точный файл; `action:settings` попадёт в настройки;
- Local History: правки сохраняются даже без git-коммита — восстановить случайно стёртый код просто;
- закладки (F11) и недавние файлы (Ctrl+E) — быстрый возврат к рабочему контексту.
20. Сниппеты и живые шаблоны под свои задачи
Повторяющиеся конструкции (логгер, try/except, декоратор) не обязаны печататься вручную. Живые шаблоны (Live Templates) — это сниппеты с переменными и автоподстановкой:
Settings -> Editor -> Live Templates -> Python
#создать: logfun
#текст:
def ${name}(${args}):
logger.info("call $name$")
$END$- в переменных есть функция `filePath()` и `className()` — шаблон сам подставит имена;
- общий шаблон команды (например, структура юнит-теста) экономит 10–15 минут в день;
- работает и для окружения: быстро вставить date, iteration, enum.
21. PyCharm и Jupyter: научный стек
PyCharm Professional отлично работает с .ipynb: открывай notebook прямо в IDE, запускай ячейки и смотри переменные:
- Variables в Jupyter-панели показывает датафреймы и их структуру;
- ячейки исполняются тем же интерпретатором, что и обычный код — зависимости общие;
- Debug для notebook: ставь breakpoint внутри ячейки и иди по шагам;
- конвертация notebook → .py (Export Python File) для продакшен-версии анализа.
# пример ячейки
import pandas as pd
df = pd.read_csv("sales.csv")
df.groupby("region")["amount"].sum()22. Отладка многопоточных и асинхронных приложений
Дебаггер разбирается в одной нити хорошо, а параллельность требует специальных приёмов PyCharm:
При остановке: Debug panel -> Threads
- выбрать нужную нить и смотреть её стек отдельно.- фикс нити: заморозь поток, чтобы остановить «гонку» значений между потоками;
- async + await: PyCharm показывает корутины в отдельной панели Frames;
- для gRPC/HTTP-стека используй Evaluate expression прямо в контексте нити;
- пиши в лог значений переменной при каждом hits брейкпоинта — без остановки программы.
Что дальше
Теперь ты умеешь создавать проекты в PyCharm, запускать и отлаживать код, ставить пакеты и работать с Git — этого достаточно для комфортного обучения. Логичный следующий шаг — фреймворки Flask или FastAPI, а затем тестирование через pytest.