Задача
Я пользуюсь Kate IDE и мне нужно настроить дебаггер для python.
Мое приложение работает в venv.
Как же этого добиться
- Устанавливаем дебаггер
sudo apt-get install python3-debugpy
- Создаем venv (если еще не)
python -m venv myapp_venv
- Включаем в Kate дебаггер-плагин - Settings → Configure Kate… → Plugins → Kate Debugger и перезапускаем Kate
- После перезапуска также идем Settings → Configure Kate… → Debugger и в User Debug Adapter Settings и прописываем такое:
{ "dap": { "debugpy": { "url": "https://github.com/microsoft/debugpy", "run": { "command": [ "/home/user/myapp_venv/bin/python3.12", "-m", "debugpy", "--listen", "${#run.port}", "--wait-for-client" ], "port": 0, "supportsSourceRequest": false }, "configurations": { "myapp venv": { "commandArgs": ["${file}", "${args|list}"], "request": { "command": "attach", "python": "/home/user/myapp_venv/bin/python3.12", "stopOnEntry": true, "redirectOutput": true } } } } } }
Тут важно указать корректный путь к бинарнику python в venv.
- Теперь в окне Kate внизу нажимаем кнопку Debug (рядом с Search, Project, Terminal), в области дебаггера жмем Settings и выбираем debugpy | myapp_venv.
- Выбираем файлик скрипта, который будем дебажить - Executable и жмем справа зелененький Play - >. Песле первого нажатия - запустится дебаггер, после второго - отлаживаемый скрипт.
- В скрипте прописываем
import debugpy
и
debugpy.breakpoint()
там где надо. В итоге - скрипт будет останавливаться на строке с брейкпоинтом
- Дальше в консольке дебаггера можно писать
print OBJECT_NAME
и оно покажет показывать значения объекта с именем OBJECT_NAME в точке останова. Либо - можно прямо в коде мышом выделять имя объекта и в меню нажимать Debug → Print Value
Discussion