Python IDLE: Zeilennummerierungen

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.
Antworten
Benutzeravatar
Zennoe
User
Beiträge: 16
Registriert: Montag 12. August 2013, 21:46

Hallo liebe Gemeinde!

Nur aus reinem Interesse: Ist es möglich in der Python IDLE eine Zeilennummerierung einzuschalten? Ich habe die Optionen durchsucht, aber nichts gefunden. :K

P.S.: Falls das nicht geht, kann mir jemand eine Alternative nennen die NICHT Notepad++ heißt? (Ich habe nichts gegen Notepad++ und es auch installiert. Aber zum Programmieren reicht es mir nicht, da es in den meisten Sprachen die Funktionen nicht kennt)

Code: Alles auswählen

print("Zennoe sprach!")
Ja, das hat er!
BlackJack

@Zennoe: Editoren gibt es wie Sand am Meer. Die meisten „kennen” die Funktionen allerdings auch nicht und selbst welche die welche kennen, kennen naturgemäss nicht alle bei so dynamischen Sprachen wie Python. Ich persönlich bin auch immer mit Editoren ausgekommen die Vervollständigung aufgrund der offenen Dateien haben, also gar nicht erst versuchen schlau zu sein.
Benutzeravatar
Zennoe
User
Beiträge: 16
Registriert: Montag 12. August 2013, 21:46

Unter PHP kann mir da Aptana helfen. Das erkennt alle Variablen und zeigt mir an, wo diese definiert sind. Es ist also doch möglich. Schade nur, dass Aptana nicht auf Python ausgelegt ist. Das war der beste Editor, den ich gefunden habe.

Code: Alles auswählen

print("Zennoe sprach!")
Ja, das hat er!
BlackJack

@Zennoe: Bei PHP sind die Funktionen ja auch bekannt. Im Grunde ist das ein grosser Namensraum in den alles hineinkompiliert wird und wo man eine statische Datei mit Funktionsnamen und -signaturen für erstellen kann. Ansonsten ist PHP nicht annähernd so dynamisch wie Python, so das man zusätzliche PHP-Dateien relativ einfach statisch analysieren kann.

Ich sage ja nicht, dass man gar keine Informationen automatisch ermitteln kann, nur dass das nicht zuverlässig für alle geht. Und gerade bei den interessanteren, grösseren Packages wird öfter mal „Magie” benutzt, beziehungsweise einfach der Umstand das ``class`` und ``def`` Anweisungen sind, die zur *Laufzeit* ausgeführt werden, so dass ein statisches Analysewerkzeug ganz einfach nicht mehr ermitteln kann was davon ausgeführt wird und was nicht. In der Standardbibliothek werden im `email`-Package zum Beispiel Module durch andere Objekte ersetzt und weitere Module bei Attributzugriff dynamisch importiert. Oder die Pylint-Version auf diesem Rechner hier behauptet das `PyQt4` kein Modul mit dem Namen `QtCore` enthält. Trotzdem kann ich das problemlos importieren.

Aptana ist doch im Grunde nur Eclipse mit ein paar Plugins zur Webentwicklung zusammengefasst. Da sollte man das PyDev-Plugin installieren können. Dabei fällt mir ein weiterer Nachteil bei der Ermittlung der Autovervollständigungsdaten ein: Wenn ich das installiere, und es all die installierten Module und Pakete im Python-Pfad analysiert, ist mein Rechner erst einmal fast eine Stunde beschäftigt und ist in der Zeit sehr zäh zu bedienen, weil sowohl Prozessor, als auch Arbeitsspeicher und Festplatte stark ausgelastet sind.
Benutzeravatar
Zennoe
User
Beiträge: 16
Registriert: Montag 12. August 2013, 21:46

Okay da hast du völlig recht. Auch wenn man mit Newscoop Aptana auch zum Rauchen bringen könnte :D.

Vielen Dank für den Plug-in Tip! Hat PyDev auch einen Debugger?

Code: Alles auswählen

print("Zennoe sprach!")
Ja, das hat er!
Antworten