immer wieder: IDE mit debugger

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
vak
User
Beiträge: 9
Registriert: Sonntag 11. März 2007, 20:56

Hi all,

ja-ja-ja, das ewige Thema, aber doch wichtig. Also ich bin Python-Einsteiger, der die Kombination Eclipse+PyDev schon ganz atraktiv findet, aber das PyDev-Extension zu bezahlen ist gar nicht bereit!

IDE ohne interaktiven debugger macht für mich aber kein Sinn. Die Fragen sind:

Q1. Welche kostenlose Lösung für IDE mit einem interaktiven Debugger könntet Euch empfehlen?

Q2. Gibt es eine kostenlose Möglichkeit in Eclipse/PyDev den Python Code interaktiv zu debuggen?

Q3. Falls es hier ein (x)Emacs-Pythonist gebe, würde ich auch gern ein paar Kommentaren über (x)Emacs Debug Tools/Mods hören.

Vielen Dank in voraus!
Valery
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

vak hat geschrieben: Q1. Welche kostenlose Lösung für IDE mit einem interaktiven Debugger könntet Euch empfehlen?
Mir gefällt pida, vor allem weil ich vim gerne habe und pida den embedded, wie es mit debugger ausschaut kA, da ichs für django verwende und mir da nen debugger wenig hilft....
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

vak hat geschrieben:Q3. Falls es hier ein (x)Emacs-Pythonist gebe, würde ich auch gern ein paar Kommentaren über (x)Emacs Debug Tools/Mods hören.
Emacs hat eine Anbindung an pdb, den Python-Debugger. Den pdb kann man natuerlich auch in der Shell starten, im Emacs hat man aber noch nette Menues dazu und mann sieht den Quellcode inclusive Zeiger auf die aktuelle Stelle.
vak
User
Beiträge: 9
Registriert: Sonntag 11. März 2007, 20:56

apollo13, Danke für die Antwort, leider bin ich kein vim-Mensch, nutze nur vi ab und zu wenn muss
Rebecca hat geschrieben:
vak hat geschrieben:Q3. Falls es hier ein (x)Emacs-Pythonist gebe, würde ich auch gern ein paar Kommentaren über (x)Emacs Debug Tools/Mods hören.
Emacs hat eine Anbindung an pdb, den Python-Debugger. Den pdb kann man natuerlich auch in der Shell starten, im Emacs hat man aber noch nette Menues dazu und mann sieht den Quellcode inclusive Zeiger auf die aktuelle Stelle.
a-ha, ist das auf dem python-mode.el oder python.el basiert?
Ene Uran
User
Beiträge: 125
Registriert: Sonntag 17. September 2006, 20:14
Wohnort: Hollywood

Schau Dir mal den HAP Debugger & IDE an:
http://hapdebugger.sourceforge.net/
Atomkraftwerkaktienbesitzer
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

Debuggen ist mit den 'normalen' PyDev-Extensions auch schon dabei.
Einfach Debug as python-Application auswählen. Dann kann man im Debugger seine Breakpoints setzen uswush.

Ein anderer Tipp wäre noch Boa.

hth, querdenker
oliver1974
User
Beiträge: 97
Registriert: Donnerstag 26. Oktober 2006, 15:01

Ach ja... IDEs und Python.. Ich bin da auch gerade auf der Suche nach DER Lösung.. irgendwie ist das alles aber nicht so das wahre.

Momentan nutze ich den aktuellen SVN-Build von der bekannten SPE - IDE, die sieht mittlerweile schon ganz nett aus. Aber da fehlen mir persönlich noch irgendwie Refactoring Tools....

Debugger - mäßig geht SPE über WinPDB, aber da steige ich momentan noch nicht durch, wie ich den benutzen soll.. Er scheint aber hinreichend
leistungsfähig zu sein, allerdings ist das ganze nicht vollintegriert, sondern
geht als Extra-Programm auf, was natürlich auch etwas gewöhnungsbedürftig ist...

SPE selber ist momentan wohl "arg in Entwicklung..", den aktuellen Build gibts nur als Checkout aus dem SVN-Repository, siehe auch
http://pythonide.stani.be/
aber man merkt noch, dass da alles im Fluss ist und es hier und da noch klemmt.. aber so wirklich was besseres habe ich auch noch nicht gefunden.

Auf Linux gibts noch Eric, der war auch recht schön, und hatte, wenn ich mich recht entsinne, auch einen integrierten Debugger.. Aber wenn man den für Windows zum laufen kriegen will war meines Wissens einiges an Handarbeit angesagt.. (Gab's da nicht sogar in dem Forum hier einen Thread zu??)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

oliver1974 hat geschrieben:Auf Linux gibts noch Eric, der war auch recht schön, und hatte, wenn ich mich recht entsinne, auch einen integrierten Debugger.. Aber wenn man den für Windows zum laufen kriegen will war meines Wissens einiges an Handarbeit angesagt.. (Gab's da nicht sogar in dem Forum hier einen Thread zu??)
Ja, hier.

grüße von einem der IDEs an den Nagel gehängt hat, weil sie zu unflexibel waren ;)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
oliver1974
User
Beiträge: 97
Registriert: Donnerstag 26. Oktober 2006, 15:01

Hmm, ich hab jetzt mehrere IDEs durch, und bisher ist fast alles Essig..

Viele habe schöne Ansätze, aber dann hapert es doch im Detail.

SPE könnte so schön sein, doch der aktuelle Build ist tatsächlich noch irgendwie "alpha", manchmal weigert er sich zu speichern (wenn Umlaute im Quelltext sind? Warum?), das mit dem Debugger ist noch irgendwie zu umständlich und überhaupt. Trotzdem durchaus vielversprechend... für die Zukunft.

PyScripter sieht auch nett aus, scheint aber nur anständig mit Python 2.5 zu laufen.. schlecht, wenn man wegen pygame noch Python 2.4 laufen lassen will...

Die anderen haben auch irgendwie alle Macken.... Durchgängig geht die Code-Completion fast immer nur halb, wenn überhaupt...

Am besten läuft jetzt wirklich noch Eclipse + PyDev... Da läuft die Code-Completion so gut wie auf Anhieb. Überhaupt wirkt da alles irgendwie "runder". Auch der Debugger funktioniert auf Anhieb,
schön.

Da hab ich zwar wxGlade nicht integriert, aber das nutze ich eigentlich sowieso nicht...

Bleibt als Kritikpunkt, dass man natürlich das "Monster" Eclipse starten
muss um sein kleines Python Projekt zu debuggen... Aber so
richtig stört mich das persönlich jetzt nicht.

Schön wäre es jetzt noch, wenn ich in der Editor-Komponente entweder mir irgendwie das aktuelle Zeilenende markieren könnte (also den Grad der Einrücküng sehen könnte, wie bei JEdit) oder wie bei den Scintilla basierten Editoren so vertikale Striche hätte für die Einrückungstiefe...

Hat das schon mal jemand lösen können, wenn überhaupt?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

oliver1974 hat geschrieben:PyScripter sieht auch nett aus, scheint aber nur anständig mit Python 2.5 zu laufen.. schlecht, wenn man wegen pygame noch Python 2.4 laufen lassen will...
Ist nicht mehr nötig - es gibt Pygame für Python 2.5 nun auch unter Windows.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Also ich warte auf ein SPE mit Vim Integration ;)

bis dahin nutze ich einfach Gvim weiter :)

Pida mag bei mir unter Ubuntu Edgy Eft nicht laufen... oder ich bin zu blööd, zum installieren... mag sein.


MfG EnTeQuAk
oliver1974
User
Beiträge: 97
Registriert: Donnerstag 26. Oktober 2006, 15:01

Leonidas hat geschrieben:
oliver1974 hat geschrieben:PyScripter sieht auch nett aus, scheint aber nur anständig mit Python 2.5 zu laufen.. schlecht, wenn man wegen pygame noch Python 2.4 laufen lassen will...
Ist nicht mehr nötig - es gibt Pygame für Python 2.5 nun auch unter Windows.
Schön... Gucke ich mir auf der Webseite gerade an.. Fragt sich nur, wie das mit dem Source Package für Linux aussieht, ob man das auch für Python 2.5 zum fliegen kriegt?

Noch zum Thema Einrücken sichtbar machen in der Editor Komponente:
Folgendes Eclipse-Plugin hilft.. AnyEdit

http://andrei.gmxhome.de/anyedit/links.html

Dann noch unter Windows->Preferences: General->Editor->Annotations
Unter "White Space: " die gewünschte Hervorhebung einstellen.., oben
in der Toolbar den Button für das Anzeigen der Whitespaces noch betätigen.. fertig.

Also ehrlich, bisher ist die Kombination Eclipse und PyDev das, was für mich am "rundesten" läuft... Die anderen IDEs gehen nur halb (PyScripter müsste ich mit Python 2.5 noch mal neu testen).

Irgendwie gibts momentan für mich nur 2 Möglichkeiten: Entweder gleich die Eclipse + PyDev Lösung, oder einen angepassten Editor verwenden.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

oliver1974 hat geschrieben:Schön... Gucke ich mir auf der Webseite gerade an.. Fragt sich nur, wie das mit dem Source Package für Linux aussieht, ob man das auch für Python 2.5 zum fliegen kriegt?
Ich habe es jetzt nicht ausprobiert aber bin mir ziemlich sicher, dass wenn du die entsprechenden SDL-Versionen hast es glatt gehen sollte. Ubuntu Feisty hat es beispielsweise für 2.5 kompiliert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Leonidas hat geschrieben:
oliver1974 hat geschrieben:Auf Linux gibts noch Eric, der war auch recht schön, und hatte, wenn ich mich recht entsinne, auch einen integrierten Debugger.. Aber wenn man den für Windows zum laufen kriegen will war meines Wissens einiges an Handarbeit angesagt.. (Gab's da nicht sogar in dem Forum hier einen Thread zu??)
Ja, hier.

grüße von einem der IDEs an den Nagel gehängt hat, weil sie zu unflexibel waren ;)
Hi Oliver.

Ein Tut wie man eric4 zum laufen kriegt, findest du hier: http://www.python-forum.de/topic-8138.h ... ight=eric4
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

oliver1974 hat geschrieben:[...]
Bleibt als Kritikpunkt, dass man natürlich das "Monster" Eclipse starten
muss um sein kleines Python Projekt zu debuggen... Aber so
richtig stört mich das persönlich jetzt nicht.
Jepp, da hast du verdammt recht. Aber was sol man machen :-[ Mittlerweile stört es mich auch nicht.

Hast du jEdit mal getestet? Das könnte vielleicht was für dich sein. Es bietet leider keine Besonders gute CV, aber dafür einen echt genialen Code syntax highliting :D Naja, jEdit würde ich
nicht zur einer IDE zählen, da vieles fehlt (vernümftiger Script-Starter, etc). Vorteil ist aber, das er stark erweiterbar ist, relativ schnell (bis auf Statrtup) und eine gute API hat.

Ansonsten, kann ich mich auch dem bisherigen aussagen anschließen: Es gibt nicht **die** IDE (noch nicht ^^).
oliver1974 hat geschrieben: Noch zum Thema Einrücken sichtbar machen in der Editor Komponente:
Folgendes Eclipse-Plugin hilft.. AnyEdit

http://andrei.gmxhome.de/anyedit/links.html

Dann noch unter Windows->Preferences: General->Editor->Annotations
Unter "White Space: " die gewünschte Hervorhebung einstellen.., oben
in der Toolbar den Button für das Anzeigen der Whitespaces noch betätigen.. fertig.
Cool und Thx. Kenne ich noch nicht. Das werde ich mal testen.
oliver1974 hat geschrieben: Also ehrlich, bisher ist die Kombination Eclipse und PyDev das, was für mich am "rundesten" läuft... Die anderen IDEs gehen nur halb (PyScripter müsste ich mit Python 2.5 noch mal neu testen).
Dito.
oliver1974 hat geschrieben: Irgendwie gibts momentan für mich nur 2 Möglichkeiten: Entweder gleich die Eclipse + PyDev Lösung, oder einen angepassten Editor verwenden.
Oder einen richtigen Scriptstarter für jEdit. Dan wäre jEdit für mich eine richtige Alternative. Zum Problem siehe hier: http://www.python-forum.de/topic-9133.html?highlight=
Leider scheint keiner dafür ein Lösung zu haben, sonst würde ich gleich morgen mein Macro umschreiben dass das gefordert im Thread auch so umsetzt. Was ich beisehr hingekriegt habe ist folgendes: http://paste.pocoo.org/show/1198/

Installation: In "mypath/to/jEdit/Macro", den Ordner "Python_Tools" erstellen und das Makro dort hinkopieren.

BTW: Siehe Zeile 60: Zur Information, ``jedit_setting_path = "...\Eigene Dateien\.jedit``
Dort wird ''PythonTools/tmp' angelegt wenn nicht vorhanden, wo der outputbuffer ``scr_out.py`` gespeichert wird.


Da fragt man sich wie macht es Eclipse den Output ungepuffert auszugeben?! :K
oliver1974
User
Beiträge: 97
Registriert: Donnerstag 26. Oktober 2006, 15:01

Witzig.. Hatte ich das noch nicht erwähnt? JEdit ist mein absoluter Lieblingseditor!!

Jammerschade, dass die Weiterentwicklung so ins stocken geraten ist, die 4.3er Version ist ja gefühlt schon "ewig" im pre-Status stecken geblieben... verglichen mit früher tut sich da nicht mehr viel. Was wirklich, wirklich schade ist.. Ich komme immer wieder auf JEdit zurück, es ist für mich DER Editor...

Ich weine immer bitterliche Tränen dass ich die Editor-Komponente von JEdit nicht auch in anderen IDEs haben kann.... Alleine schon die Hervorhebung von Klammern über mehrere Zeilen ist dermaßen genial.... (schade, dass nicht auch die Python-Blockstrukturen so angezeigt werden können).

Welche Plugins verwendest du für die Python/Jython Entwicklung in JEdit?
ProjectViewer, einer von den Buffer Selector Plugins und Console ist ja klar...
was noch?

Console ist ja leider irgendwie gepufffert und nicht so wirklich komplett zu gebrauchen (meintest du das mit "ungepuffert auszugeben"?)

JEdit wäre für kleinere Geschichten immer noch erste Wahl für mich.

In PyDev kämpfe ich noch mit der Einbindung von Ant als make-tool herum, um auch die PyDocs komfortabel erstellen zu können, das will irgendwie noch nicht so richtig.

Siehe den interessanten Artikel hier:
http://www-128.ibm.com/developerworks/o ... /os-ecant/
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

oliver1974 hat geschrieben: Welche Plugins verwendest du für die Python/Jython Entwicklung in JEdit?
ProjectViewer, einer von den Buffer Selector Plugins und Console ist ja klar...
was noch?
Naja, entwickeln tue ich weiterhin mit Eclipse+PyDev, da mich diese ungepuffert auszugeben von meinem Macro stört. Ich mache hauptsächlich ein par Tools für mich die ich in wxPython schreibe, und da ist es lästig erst die ("Debug"-)Ausgaben, die an stdout/sdterr geschickt werden, erst zu sehen wenn das Programm beendet ist. In Eclipse ist das bequemer. Dort wird alles ungepuffert angezeigt :D

Aber folgende PIs hatte ich mir damals installiert:
-- BufferTabs
-- Console
-- JPyDebug
-- Jython
-- Project Viewer
-- SideKick
-- PythonClient (Das leider nicht geht :/ -- Hab jEdit 4.3pre8)
-- TaskList

oliver1974 hat geschrieben: Console ist ja leider irgendwie gepufffert und nicht so wirklich komplett zu gebrauchen (meintest du das mit "ungepuffert auszugeben"?)
Jepp. Da kann man das gut beobachten was ich meine. Und diese Phänomen zieht sich durch alle PIs durch...Daher frage ich mich wie genau Eclipse das macht. Fakt ist, das Eclipse irgendwie der zu startenden Anwendung suggeriert, dass es sich um eine "Console" handelt, was ja zu führt das alle ausgaben immer direkt ausgegeben werden und nicht erst nach Script-/Programmende. Ich hatte damals die ganze Java API durchsucht und hatte vieles ausprobiert, aber es scheint da nichts zu geben womit man einen Prozess starten kann, der stdout/stderr ungepuffert ausgibt. Auch Recherchen@Google haben zu nichts geführt.
oliver1974 hat geschrieben: In PyDev kämpfe ich noch mit der Einbindung von Ant als make-tool herum, um auch die PyDocs komfortabel erstellen zu können, das will irgendwie noch nicht so richtig.
Ant? Das ist doch ein "make" für das "Kompilieren" von Java-Anwendungen? Wie soll man damit PyDocs erstellen?
Siehe den interessanten Artikel hier:
http://www-128.ibm.com/developerworks/o ... /os-ecant/
Da kommt bei mir eine Seite in der steht: "The page you requested cannot be displayed" €: Nun geht die Page.
oliver1974
User
Beiträge: 97
Registriert: Donnerstag 26. Oktober 2006, 15:01

Ant? Das ist doch ein "make" für das "Kompilieren" von Java-Anwendungen? Wie soll man damit PyDocs erstellen?
Steht in dem Artikel. Ant ist eigentlich ziemlich genial, da gut zu erweitern.. und der Knabe hat eben eine Erweiterung geschrieben, mit der man
targets im Ant-File hat, die sich auf Python beziehen, unter anderem pydoc.

Leider ist das Beispiel irgendwie unglücklich, und das herunterladbare Binary File hat imho ne Macke, da die properties - Datei fehlt, die aber benötigt wird, zumindest wenn man sich die build.xml wie im Beispiel baut.

Man findet diese aber in den Sourcen der dort besprochenen Ant-PyDev Erweiterung, also das Jar entpacken und die properties Datei hinzufügen, dann jar neu erstellen... oder einfach als Verzeichnis lassen und anstatt als "Add External Jar" einfach den "Add Folder" Dialog in den Ant-Voreinstellungen der Preferences nehmen.

Funzt! Mir baut er schon fleissig hier pydocs !!

Cool... wird immer besser... Ich glaube, Eclipse und PyDev ist "meine" Lösung.. zumindest für Projekte, die etwas größer sind...

(Und über Run External Tools kann man noch alles mögliche andere einbinden.. ich hab da gerade den NSI-Compiler für Install - Skripts
für die Setup.exe Generierung für die Windows-Varianten meiner Programme eingebunden..)
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Cool werde ich auch mal testen. Vielleicht krieg ich das hin das mit Epydoc zu verbinden, da ich mir meine Docs immer mit Epydocs generieren lasse.
oliver1974
User
Beiträge: 97
Registriert: Donnerstag 26. Oktober 2006, 15:01

Ich vermute mal, für Epydoc müsste man jetzt des Ant-Plugin noch erweitern... Irgendwie sicherlich möglich, muss man halt mal wieder Java-Programmierung betreiben... aber wenn man schon eine in Java geschriebene IDE und ein Java-basiertes Buildsystem für seine Python - Projekte einsetzt, oder wahlweise auch einen in Java geschriebenen Editor (Jedit) darf man nicht wählerisch sein ;-)

Was sind denn die Vorteile von Epydoc?

Hmm, mit AnyEdit bin ich jetzt noch nicht so zufrieden.. zwar kann ich eine recht subtile Hervorhebung der Spaces einstellen, aber schöner wäre es im Endeffekt, wenn ich wie bei JEdit einfach eine Zeilenende - Markierung hätte.. Die habe ich immer benutzt um mir meine Schachtelung (Einrückung) der Python Blöcke zu visualisieren, insbesondere jetzt bei den Leerzeilen zwischen den Blöcken. Das scheint aber nirgendwo zu gehen, oder?
Antworten