LINUX.ORG.RU

как пошагово отлаживать python-приложение?

 ,


0

1

Я хотел бы написать .ebuild-файл для веб-приложения, но не очень понимаю, как работает утилита webapp-config. Она написана на питоне и мне кажется, что если бы я в графическом отладчике походил по её коду, то мне стало бы понятнее, как она работает.

Видел есть какой-то для Eclipse плагин:
«Eclipse is a powerful open-source IDE that can be used for Python development with the help of plugins such as PyDev. These plugins provide features such as code completion, debugging, and code analysis»
Но сомневаюсь что оно в генту опакечено #906815:
https://packages.gentoo.org/packages/dev-python/pydevd
это отладчик, и говорится, что он используется в pydev, но пакета для самого pydev я не нашел.
я в шоке просто. Python - это основной язык генты, на нём там всё. И при этом они не сделали полностью опенсорсного графического отладчика (а всего-то надо было опакетить PyDev для Eclipse).

Я установил PyCharm (community), но мне не очень нравится, что там есть клозедсорсные части, и она стучит производителю. Есть ли альтернативный графический отладчик, доступный для установки в Gentoo?

У меня получилось сделать «новый» проект и поотлаживать его в PyCharm, но мне неясно, как там открыть уже существующий проект.

★★★★

Последнее исправление: Dimez (всего исправлений: 9)

Ответ на: комментарий от Andreezy

могу сказать как разработчик со стажем

«основой доверия к авторитету должен быть все же не статус эксперта, а основания, на которые он опирается»

Может быть тебе там нравятся какие-то особые разработческие фичи, до которых у меня никогда дело не дойдёт.

Shushundr ★★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 1)

Мне как то приходилось встроенным pdb отлаживать. не самое приятное занятие, но возможно. А вот ipython’овским ipdb - уже приемлемо. Последнее время приловчился к vscode с плагином питона. Если всё настроить один раз, то работает и проблем нет.

Pycharm не люблю, слишком неповоротливый он.

eternal_sorrow ★★★★★
()

А вообще, за последнее время отладчик не помню когда запускал. Обычно когда ошибка происходит, то по сообщению об ошибке или по логам почти всегда удаётся сразу понять в чём проблема.

eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

pdb = https://docs.python.org/3/library/pdb.html

ipython = https://ipython.readthedocs.io/en/stable/
«IPython (Interactive Python) is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and history.»

ipdb = https://github.com/gotcha/ipdb/

https://packages.gentoo.org/packages/dev-python/ipdb

https://manpages.ubuntu.com/manpages/xenial/man1/ipdb.1.html

Что-то я сомневаюсь, что он графический…

Shushundr ★★★★
() автор топика
Ответ на: комментарий от eternal_sorrow

Обычно когда ошибка происходит, то по сообщению об ошибке или по логам почти всегда удаётся сразу понять в чём проблема

Отладчик обычно нужен, когда навернул или слишком мало абстракций (и тонешь в байтодроче), или слишком много (и они перестают помещаться в голове). У тебя, видимо, абстракций навёрнуто в меру %)

Nervous ★★★★★
()
Ответ на: комментарий от Shushundr

Может ли web-приложение отлаживать консольные?

Веб-приложение ведь многопоточное, не просто «консольное». Поэтому вопрос в первую очередь про отладку многопоточности, что обычно неудобно.

Для петона вообще все эти отладки и брекпойнты нехарактерны, его отлаживали всю жизнь через try - except да вывод в консоль.

Может ты просто подробнее раскроешь про:

как работает утилита webapp-config

Думаю проще будет подсказать по логике ее работы тут, чем пытаться настроить отладчик.

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

Да я в шоке просто. Python - это основной язык генты, на нём там всё. И при этом они не сделали полностью опенсорсного графического отладчика (а всего-то надо было опакетить PyDev для Eclipse).

Shushundr ★★★★
() автор топика
Ответ на: комментарий от frob

никому кроме тебя «графический отладчик» не нужен

Графические отладчики нужны школьникам. Пример - в обучающей среде КуМир есть графический отладчик для РАЯ (русского алгоритмического языка).

Задумайся

Что хорошо школьникам, то можно и мне. Из яиц вырастают живые существа, значит все питательные вещества, нужные для жизни, там есть. Если школьникам графические отладчики помогают, значит и мне помогут.

Shushundr ★★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 1)
Ответ на: комментарий от frob

Это как?

У них есть ещё пара опенсорсных IDE:
https://www.bairesdev.com/blog/best-python-debuggin-tools/

но они либо не IDE (это я про PyDebugger), либо не для Linux, либо написаны не на python

А если кому-то что-то не нужно, то он просто недоразвитый (в этом направлении). Например в начале двадцатого века можно было самостоятельно делать тёплые туалеты в деревнях (с унитазами и смывом), но делали не все. Большинству это было ненужно.

Shushundr ★★★★
() автор топика
Ответ на: комментарий от Shushundr

Гуй для отладки не нужен. Максимум псеводграфика, что в pudb есть. Я бы посмотрел, как ты своим гуем будешь отлаживать удалённые приложения.

kukuruku ★★
()
Последнее исправление: kukuruku (всего исправлений: 1)

У меня получилось сделать «новый» проект и поотлаживать его в PyCharm, но мне неясно, как там открыть уже существующий проект

В плане? Project - From existing sources. Ну или просто директорию открой в нем, он сам импортирует.

пакета для самого pydev я не нашел.

Пакет есть, но без ide юзать эту штуку нереально

Есть ли альтернативный графический отладчик, доступный для установки в Gentoo?

В базовой поставке питона есть idle (это родная питонячья ide, посмотри use-флаги или рядом с ними). Он убог чуть более чем полностью, но дебаггер там есть. Но пичарм сильно удобнее, особенно если ты новичок

upcFrost ★★★★★
()
Ответ на: комментарий от Goury

Интересно узнать какого же размера проект может потребовать дебага с отладчиком на петоне? Даже 50к строк кода для проекта на Петоне это много, неужели можно в них потеряться?

alex0x08 ★★★
()
Ответ на: комментарий от Shushundr

в обучающей среде КуМир есть графический отладчик для РАЯ

Ощущения двойственные. С одной стороны, рай — дело богоугодное, как и отладка его. С другой стороны, сказано: не сотвори себе кумира.

Smacker ★★★★★
()
Ответ на: комментарий от Syncro

https://eric-ide.python-projects.org

01 August 2023 eric 23.8 has been released. It fixes a few bugs and introduces these new features.

Removed support for Python 3.7 because that is EOL.

Во время-то летит.

отладчик там работал

Так что же такого вы там отлаживаете? В проекте на 20 файлов и 50кб текста?

alex0x08 ★★★
()
Ответ на: комментарий от Syncro

пипону с его рантайм типизацией отладчик жизненно необходим

Половина разработчиков на JS сейчас должна икнуть в таком случае. Другая половина что такое отладчик просто не знает.

alex0x08 ★★★
()
Ответ на: комментарий от Zhbert

дебажить можно просто сообщениями в stdout :) Классика!

Это максимально дубово и надёжно. Причём для скриптоты ещё и не накладно.

Отладчики изобрели для всяких Фортранов и Си, потому что там замахаешься перекомпилять всю программу каждый раз ради очередного printf. Тем более на древнем металлоломе. В чём проблема натыкать print-ов в программе на условном питоне, я не понимаю.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)