PyCharm + Locust + gevent: бесконечный «Collecting data…» в дебагере.

Если вы используете Locust с gevent и внезапно столкнулись с тем, что в новых версиях PyCharm дебаггер зависает на сообщении “Collecting data…”, а переменные не отображаются, то вы не одиноки. Особенно часто проблема проявляется в новых версиях IDE, тогда как в старых всё работает без нареканий.

Например, сценарий может выглядеть так:

  • В PyCharm 2023.x всё работает нормально (у меня всё прекрасно работает)
  • В PyCharm 2025.x и выше – дебаггер запускается, но бесконечно показывает Collecting data... Отладку выполнить невозможно!👺
  • GEVENT_SUPPORT=1 уже включён, Gevent compatible тоже настроен, но результата нет

Я было отчаялся, но внезапно решение нашлось!

Почему это происходит #

Проблема связана не с Locust и не с вашим кодом, а с новым механизмом работы дебаггера в PyCharm.

В свежих версиях JetBrains внедрили новый low-impact monitoring API для Python debugger. Он должен был снизить нагрузку на отладку и сделать сбор данных более «лёгким», однако в связке с gevent и monkey patching появляются конфликты.

В результате debugger пытается бесконечно собрать состояние greenlet’ов, потоков и объектов, из-за чего интерфейс зависает на этапе:

Collecting data...

Решение #

Весьма простое и быстрое!

Нужно отключить экспериментальный механизм low-impact monitoring.

Шаг 1. Открываем Registry #

В PyCharm:

Help → Find Action → Registry

Шаг 2. Находим настройку #

Ищем параметр:

python.debug.low.impact.monitoring.api

Шаг 3. Отключаем её #

Снимаем галочку или переключаем значение в false.

После этого перезапускаем debug session.

Дополнительные рекомендации #

1. Включить поддержку gevent в дебаггере #

Settings → Build, Execution, Deployment → Python Debugger → Gevent compatible

Опция должна быть включена.

2. Не дублируем gevent support #

Частая ошибка – одновременно использовать:

GEVENT_SUPPORT=1

и включённый Gevent compatible в настройках IDE.

Обычно достаточно одного механизма. На практике удобнее оставить поддержку через интерфейс PyCharm.

3. Если всё ещё есть проблемы #

Попробуем:

  • перезапустить PyCharm;
  • очистить invalidate caches;
  • временно проверить поведение в более старой версии IDE;
  • обновить gevent, greenlet и locust.

Итог #

Если ваш debugger в PyCharm бесконечно висит на Collecting data... при работе с Locust и gevent, скорее всего, проблема в новом debugger monitoring API.

Самое простое и рабочее решение:

Registry → python.debug.low.impact.monitoring.api → OFF

После отключения отладка снова начинает нормально показывать переменные, а Collecting data... исчезает.

Это сэкономит много нервов и несколько часов бессмысленного поиска проблемы в собственном коде 😄

Жми класс
Обновлено 02.06.2026

Оцените документ




0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *