Если вы используете 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... исчезает.
Это сэкономит много нервов и несколько часов бессмысленного поиска проблемы в собственном коде 😄





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