Python put???

Probleme bei der Installation?
Antworten
Glamdring
User
Beiträge: 104
Registriert: Sonntag 25. Mai 2003, 20:22
Wohnort: Freiburg i.B.
Kontaktdaten:

Mein Python 2.2.2 macht stress und bringt immer wieder die selben Fehler obwohl, ich die schon rausgenommen habe, d.h. wenn in meinem Script die Funktion p hieß und das ein Fehler war, und ich ihn koregiert hatte , indem ich die Funktion einfach pgh nannte brachte er den selben Fehler (mit zitiertem Code, der gar nicht mehr im Script erhalten war.

Kann mir einer helfen?
Glamdring
Dies ist ein Platzhalter, er steht am Ende jeder meiner Beiträge! Erst wenn ich einen vernünftigen Text gefunden habe wird sich das ändern!
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Hallo!
Dazu wollte ich gerade zu Deinem anderen Beitrag was schreiben. Die dort genannten Zeilennummern passen da ja nicht zu den angegebenen Sourcezeilen. Ich vermute mal, dass Du PythonWin verwendest. Das Teil ist einfach nur - sorry - Schrott (nicht nur deswegen)! Wenn Du ein korrektes Traceback haben willst, musst Du PythonWin beenden und wieder neu starten.

Jan - inzwischen begeisteter SciTE-Nutzer
Glamdring
User
Beiträge: 104
Registriert: Sonntag 25. Mai 2003, 20:22
Wohnort: Freiburg i.B.
Kontaktdaten:

Nö, ich benutze IDLE, die anderen Editoren haben, meines Wissens nach keine Vorteile.

Gruß
Glamdring

p.s: Vim funzt bei mir net wirklich, oder ich blicks nicht
Dies ist ein Platzhalter, er steht am Ende jeder meiner Beiträge! Erst wenn ich einen vernünftigen Text gefunden habe wird sich das ändern!
Gast

Glamdring hat geschrieben:Nö, ich benutze IDLE
Oh, das überrascht. Vielleicht hat IDLE ein ähnliches Problem (das Teil mag ich noch viel weniger ;-)). Bekommst Du denn den fehlerhaften Traceback auch dann, wenn Du das Programm in der Eingabeaufforderung bzw. in der Shell aufrufst?
Jan
Kartoffel
User
Beiträge: 66
Registriert: Montag 7. April 2003, 17:08

Kann ich bestätigen. Bei mir macht IDLE das gleiche.
Gast

Hallo,

ich glaube nicht, dass dies ein Fehler von IDLE oder Pythonwin ist. Eher hat das was mit der Art zu tun, wie die beiden laden. Ein kleines Beispiel:

Das Skript "Hallo.py" enthält die Anweisung "import Hallo2". "Hallo2.py" enthält die Funktion p(). In der IDLE-Shell wird mit "import Hallo" dann auch Hallo2 und p geladen. Jetzt kann man in der IDLE-Shell mit Hallo.Hallo2.p() die Funktion starten. IDLE importiert hierbei immer die letzte gespeicherte Version, sofern das Skript noch nicht importiert wurde.

Wichtig hierbei: gespeichert und noch nicht geladen.

Natürlich kann man IDLE auch zwingen, neu zu importieren, und zwar mit "reload(Hallo)". Jetzt wird die letzte gespeicherte Version geladen, egal, ob diese bereits importiert wurde oder nicht. Allerdings nur von "Hallo.py". Wenn eine Änderung in "Hallo2.py" erfolgt ist, z.B. die Funktion p jetzt ps heißt, wird diese Änderung nicht berücksichtigt, da "Hallo2.py" ja bereits geladen ist. Ein "reload(Hallo2)" nützt auch nichts, da die Funktion ja aus Hallo heraus aufgerufen werden soll. Es gibt jetzt zwei Möglichkeiten. Entweder gibt man in der IDLE-Shell "reload(Hallo.Hallo2)" ein, wenn man nur in "Hallo2.py" geändert hat. Geschickter, zumindest in der Testphase, finde ich die Zeile "reload(Hallo2)" unter "import Hallo2" in "Hallo.py". Damit wird beim reload von "Hallo.py" automatisch die aktuelle Version von "Hallo2.py" geladen. Wenn man die Tests beendet hat, kann man die Zeile ja wieder löschen.

Ach ja, speichern vergesse ich nach Änderungen auch ab und an. Und IDLE lädt nur gespeicherte Sachen.

Ansonsten: Ich bin mit IDLE und Pythonwin zufrieden.

Gruß

Stefan
Antworten