PyCharm — среда разработки для Python

PyCharm — самая популярная интегрированная среда разработки для Python. Она ускоряет написание кода с помощью умного автодополнения, встроенного отладчика и полной интеграции с Git.

Уровень: начальный 18 разделов 2–3 часа

1. Что такое PyCharm и зачем он нужен

PyCharm разрабатывает компания JetBrains. В отличие от простого текстового редактора, IDE понимает структуру проекта и помогает писать код быстрее и с меньшим числом ошибок.

Community или Professional

PyCharm выпускается в двух редакциях. Для обучения и большинства проектов достаточно бесплатной Community.

ВозможностьCommunityProfessional
Ценабесплатноплатная подписка
Python, pytest, отладкадада
Git-интеграциядада
Поддержка Django, Flask, FastAPIнетда
Клиент баз данных и SQLнетда
Профилирование и удалённый запускнетда
Студентам и разработчикам открытых проектов JetBrains даёт бесплатную лицензию на Professional — достаточно оформить заявку на официальном сайте.

2. Скачивание и установка

Сначала убедись, что Python установлен. Скачай установщик с официального сайта python.org.

При установке Python на Windows обязательно отметь галочку Add Python to PATH — иначе PyCharm не найдёт интерпретатор.

JetBrains Toolbox

JetBrains Toolbox — приложение, которое устанавливает, обновляет и запускает все IDE JetBrains разом. Оно удобнее, чем установка вручную.

  1. Скачай Toolbox с сайта jetbrains.com.
  2. Установи и запусти его.
  3. Во вкладке Available выбери PyCharm Community Edition и нажми Install.

Системные требования

КомпонентМинимальноРекомендуется
ОСWindows 10, macOS, Linuxактуальная версия ОС
Память4 ГБ RAM8 ГБ RAM и больше
Место на диске2,5 ГБSSD, 5 ГБ
Javaне требуется—
Не скачивай PyCharm с посторонних сайтов — установщик легко подменить, а в «взломанных» версиях часто прячут вредоносный код.

3. Создание первого проекта

При первом запуске откроется окно приветствия. Нажми New Project.

  1. Укажи папку проекта — например, my_first_project.
  2. В поле Interpreter выбери Python, установленный с python.org.
  3. Отметь галочку Create a welcome script, чтобы сразу увидеть, что всё работает.
  4. Нажми Create — PyCharm сгенерирует проект и его виртуальное окружение.

Новый проект выглядит так:

my_first_project/
├── .venv/
├── main.py
└── .idea/
Папку .idea и окружение .venv не отправляют в репозиторий Git — их воссоздают на месте.

4. Интерфейс IDE

Основные зоны окна:

Настройка темы и шрифта

Открой File → Settings (Windows и Linux) или PyCharm → Preferences (macOS).

Пока наводишь на название файла, задержи Ctrl + клик (Windows) или Cmd + клик (macOS) — откроется предпросмотр без переключения вкладки.

5. Виртуальные окружения в PyCharm

Виртуальное окружение — изолированная папка с собственным набором пакетов. Каждый проект получает свои версии библиотек и не конфликтует с соседними.

Пару пакетов можно ставить и глобально. Но как только проект разрастается, без окружения начинается «ад зависимостей»: один проект просит requests, другой — нет.

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.

Если список интерпретаторов пуст — нажми Add Interpreter и укажи путь к 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. Выполнение остановится на точке останова, и панель отладчика покажет текущие переменные.

Шаги отладки

Не ставь точку останова перед бесконечным циклом — отладчик будет «ходить» по нему бесконечно. Ограничивай число итераций или снимай breakpoint.

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.txt
Третий разработчик получит репозиторий и одной командой поставит все библиотеки. Так команда работает с одинаковыми версиями пакетов.
PyCharm подсвечивает неиспользуемые импорты и предлагает убрать их клавишей Alt+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выровнять форматирование кода
На macOS вместо 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.git

Commit и push

git add .
git commit -m "урок: горячие клавиши"
git push origin main
git log --oneline
Во вкладке Version Control внизу новые строки зелёные, удалённые — красные. Пробегайся по ней глазами перед каждым commit.

11. Запуск тестов pytest в PyCharm

PyCharm понимает pytest сразу: тесты можно запускать кнопкой, а результаты видны в отдельной панели. Настройка по умолчанию работает из коробки после pip install pytest.

# в PyCharm: Run -> Edit Configurations -> Python tests -> pytest
# target: test_calculator.py::test_add
# запуск: Shift+F10 в режиме теста
Настройка: Settings → Tools → Python Integrated Tools → Testing → Default test runner = pytest. Так панель тестов станет основной.

12. Рефакторинг и навигация

PyCharm даёт безопасные рефакторинги — переименования, которые обновят все использования:

Rename         -> Shift+F6
Extract Method  -> Ctrl+Alt+M
Extract Variable -> Ctrl+Alt+V
Go to declaration -> Ctrl+B (или Ctrl+клик)
Перед большим переименованием сделай Commit — VCS → Local History позволит откатить рефакторинг.

13. Docker и удалённый интерпретатор

PyCharm умеет выполнять код внутри Docker-контейнера, не устанавливая зависимости локально:

Settings -> Project -> Python Interpreter
-> Add Interpreter -> On Docker
    [Image: python:3.12, mounts: project]

Интерпретатор через SSH нужен для работы на удалённом сервере:

Такой режим удобен, когда прод содержит специфичные библиотеки, например CUDA для ML. Обучение модели можно гонять прямо из IDE.

14. Живые шаблоны и полезные плагины

Live Templates генерируют код по короткой аббревиатуре: набери main и нажми Tab — получится стандартный блок if __name__ == "__main__":

def main():
    $END$
if __name__ == "__main__":
    main()

Создай свои: Settings → Editor → Live Templates.

Каждая сохраняемая идея в шаблон быстро «капитализируется»: что ты делаешь десятый раз, стоит автоматизировать.

15. Продвинутая отладка: точки, watch и условия

Простой breakpoint останавливает код в каждом проходе — что неудобно в цикле или большой сессии. Включай условия и watch-выражения:

// условная точка останова (правый клик по точке)
price > 5000 and user_id == 42

// watch-выражение в Debug Tool Window:
len(orders), round(total / count, 2)
Условные точки экономят часы на отладке больших циклов — ставь их вместо ручного подсчёта итераций.

16. Инструменты работы с базой данных

Встроенные Database Tools (движок DataGrip) покрывают рутину без внешних клиентов:

ОперацияКак в PyCharm
подключение Postgres/MySQLDatabase → New → Data Source
запуск SQLнапиши запрос в файле и нажми Shift+Enter
таблицы и схемапанель Database + Generate → JPA/POJOs
миграции и типыконсоль только для терминала: psql/mysql
Run -> Edit Configurations -> Environment variables:
DATABASE_URL=postgres://app:pass@localhost:5432/shop
Не коммить секреты в переменные конфигурации — держи их в .env, подключаемых во время запуска.

17. Профилирование и поиск узких мест

Профайлер PyCharm на базе cProfile покажет, где приложение «стоит»:

// запуск с профилировщиком
Run -> Attach to Process... -> Profiler
или: конфигурация Run -> Python Profiler

Смотрю: Calls / cumtime — общее время с вложенными вызовами.
Pикомендую профилировать на реальных объёмах: маленькие данные скрывают квадратичные алгоритмы, видные только на продакшен-размере.

18. Скорость работы IDE и чек-лист производительности

Тормозящая IDE съедает концентрацию незаметно. Быстрый чек-лист:

Settings -> Editor -> Inspections
-> отключить: "Unused imports" в классах, лишние проверки стиля
Не выключай механизм Go To и форматирование — они бесплатны. Убирай только те инспекции, что дают шум именно в твоём проекте.

19. Навигация по большому коду

В крупном проекте навигация — половина скорости работы. «Двойной Shift» (Search Everywhere) ищет файлы, классы и действия за два нажатия:

Ctrl+Shift+N   — Go to File (по имени)
Ctrl+Shift+F   — Find in Files (по всему проекту)
Ctrl+B         — Go to Declaration (перейти к определению)
Ctrl+Shift+Backspace — последняя правка
Закоммить привычку: сначала поиск (Shift дважды), потом вручную. Это экономит 30–60 минут в неделю.
Local History не заменяет git, но спасает при незакоммиченных экспериментах — держи его включённым.

20. Сниппеты и живые шаблоны под свои задачи

Повторяющиеся конструкции (логгер, try/except, декоратор) не обязаны печататься вручную. Живые шаблоны (Live Templates) — это сниппеты с переменными и автоподстановкой:

Settings -> Editor -> Live Templates -> Python
#создать: logfun
#текст:
def ${name}(${args}):
    logger.info("call $name$")
    $END$
Собери свой мини-набор Live Templates после двух недель работы: посмотри повторы в своём коде и закодируй их в шаблоны.
Живые шаблоны не заменяют рефакторинг: они ускоряют ввод, а не структуру. Держи их мелкими, иначе код станет «шаблонным».

21. PyCharm и Jupyter: научный стек

PyCharm Professional отлично работает с .ipynb: открывай notebook прямо в IDE, запускай ячейки и смотри переменные:

# пример ячейки
import pandas as pd
df = pd.read_csv("sales.csv")
df.groupby("region")["amount"].sum()
Для больших данных держи notebook «исследовательским», а тяжёлую обработку выноси в скрипт — так проще тестировать и покрывать проверками.

22. Отладка многопоточных и асинхронных приложений

Дебаггер разбирается в одной нити хорошо, а параллельность требует специальных приёмов PyCharm:

При остановке: Debug panel -> Threads
- выбрать нужную нить и смотреть её стек отдельно.
Отладка в продакшене (attaching к рабочему процессу) замедляет и может собрать данные о чувствительных данных. Держи её только для staging.

Что дальше

Теперь ты умеешь создавать проекты в PyCharm, запускать и отлаживать код, ставить пакеты и работать с Git — этого достаточно для комфортного обучения. Логичный следующий шаг — фреймворки Flask или FastAPI, а затем тестирование через pytest.

← Вернуться к курсам