Problem mit turtle/tk

Fragen zu Tkinter.
Antworten
guest

Hallo zusammen,

ich bin ein Anfänger in der Programmierung und habe ein Problem, dass ich nicht lösen kann.
Folgendes ist der Fall: ich versuche mir autodidaktisch, mit dem Buch Python 4 Kids, Python anzueignen.
Dabei bin ich auf folgendes Problem gestossen:
wenn ich Python Shell (IDLE) öffne und das Modul turtle mit
from turtle import *
importiere, anschliessend einen Befehl wie z.B.
forward(80)
eingebe, öffnet sich das Fenster (tk), erscheint weiss ohne Grafik und lädt und lädt... ohne Erfolg.

Des Weiteren fiel mir auf, wenn ich vom Shell Window ein neues Edit Window öffne und anfange ein Programm zu schreiben, dass Schlüsselwörter wie print, import, usw. nicht mehr farblich hinterlegt sind, obwohl in der Konfiguration dies eingestellt ist.

Es ist jedoch möglich ein Programm im Python Editor zu schreiben wie z.B.
from turtle import *
forward(80)
left(90)
usw.
Es kann gestartet werden und wird ausgeführt, allerdings sobald die Grafik fertig gezeichnet ist lädt das geöffnete tk Window und reagiert nicht mehr.

Ich habe hierzu nirgends im Netz eine Antwort gefunden. Wäre sehr froh hier Hilfe zu erhalten.

Ach so, sorry, bevor ich es vergesse, ich benutze Windows Professional mit SP2. Ich besitze ein paar Rechner und stellte dieses Problem auf jedem fest. So kann ich, glaube ich, eine Unverträglichkeit mit der Konfiguration meines Systemes ausschliessen.

Danke!
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

guest hat geschrieben: wenn ich Python Shell (IDLE) öffne und das Modul turtle mit...
Hi!
IDLE hat damit teilweise Probleme. Mein Tipp: Steige auf einen anderen Interpreter/Editor um. Verwende PythonWin oder direkt die Python-Konsole über die Dos-Box.

PythonWin findest du hier:
http://sourceforge.net/projects/pywin32/
Und hier die evt. dafür benötigten MFC DLLs:
http://starship.python.net/crew/mhammond/win32/

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
guest

Mann, Mann! AAh!
Also erstmal danke Gerold für deinen Tip. Es offenbarte sich mir jedoch die nächste Hürde.
Ich ladete mir PythonWin runter und installierte es. Konnte es starten, probierte gleich meinen "tollen" Befehl
from turtle import *
aus, dann
forward(80)
und siehe da das Fenster öfnnete sich und zeichnete mir meinen Strich. Wenn ich dieses Fenster schliessen will reagiert es nicht. Wenn ich versuche es zu verschieben kommt folgende Fehlermeldung:

Microsoft Visual Runtime error C++
Runtime Error!
Program:C:\python24\...\pythonwin.exe
This application has requested the runtime to terminate...

Ende, das war´s.

Gut dachte ich mir, dann installiere ich eben die mfc71.dll. Runtergeladen und als ich in meinen windows system32 Ordner schaute, war diese bereits in der gleichen Version vorhanden. Habe sie nicht installiert.
Ich benutze wie gesagt Win XP Prof. SP2 und
Pyton in der Version 2.4.1(final).
So macht Programmieren lernen spass! :wink:

Noch irgendwelche Tips etc. ?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

guest hat geschrieben: und siehe da das Fenster öfnnete sich und zeichnete mir meinen Strich. Wenn ich dieses Fenster schliessen will reagiert es nicht.
[...]
Noch irgendwelche Tips etc. ?
Hi!
Ich bin der Meinung, dass der Autor von "Python 4 Kids" wenigstens eine Warnung ins Buch hätte schreiben können, dass, wenn man mit einer interaktiven Shell direkt mit Tk-Fenstern (dein Turtle-Fenster) arbeitet, diese direkt von der Python-Shell abhängen und es Fehler geben kann bzw. gibt.

Ich habe dieses Buch zum Spaß auch mal durchgelesen und auch einige der Übungsbeispiele ausprobiert. Finde dich mit den kleinen Fehlern ab. Wenn du das Turtle-Fenster schießen willst, musst du PythonWin zu machen. Dieses Turtle-Fenster wirst du später ziemlich sicher nie wieder brauchen. Es ist halt zum Vorzeigen nicht schlecht, da man die Reaktion auf einen Befehl sofort sieht. Genauso wie ich früher gerne mit "eject" (Öffnet die CD-Lade) erklärte was ein Programm ist. Man sieht die Reaktion sofort. :-)

Nichts desto trotz, "Python 4 Kids" ist kein schlechtes Buch für den Einstieg. Es darf aber nicht das einzige Buch sein das du zum Thema Python liest. Python kann mehr...

Wie man so ein Fenster richtig aufruft -- so dass es auch wieder geschlossen werden kann -- wird später im Buch noch ausführlicher erklärt.

mfg
Gerold
:-)
Zuletzt geändert von gerold am Dienstag 7. November 2006, 23:20, insgesamt 1-mal geändert.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
antimicro
User
Beiträge: 151
Registriert: Sonntag 29. Februar 2004, 16:24

Hi,
und deine zweite Frage zu den Schlüsselwörtern: die werden erst dann gefärbt wenn der Editor weiß um was für eine Datei es sich handelt. Also musst du dein Script erst als *.py speichern. Dann klappts!
greetings
sebi
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

Hallo,

hier eine umfassende Antwort des Autors Lingl zu diesem Problem und vor allem ein wirklich gut gangbarer Weg das Problem zu beheben:
Das Problem, das sie beschreiben ist wohlbekannt und existiert genau seit
Python 2.3 das eine neue IDLE-Version mitbekam. Mein Buch (1. Auflage)
basiert auf Python 2.2.2 und daher steht im Buch darüber nichts drin.

In Python für Kids - 2. Auflage - das soeben erschienen ist, wird dieses
Problem behandelt. Ich habe das Buch ziemlich gründlich abgeändert und
auch ein erheblich besseres Turtle-Modul - xturtle - dazu geschrieben, das
auf der Buch CD enthalten ist.

Eine zusammenfassende Beschreibung der Behebung ihrer Problem können
Sie ab 20. November auf python4kids.net lesen und herunterladen. (Oder Sie
kaufen sich gleich die 2. Auflage des Buchs - ich bin überzeugt, das zahlt sich aus!)

Bis dahin nutzen Sie bitte folgenden Rat, der mit turtle und mit xturtle funktioniert:

Suchen sie sich im Explorer ein beliebiges Python-Skript, klicken Sie mit der
rechten Maustaste drauf und im erscheinenden Kontext-Menü auf
"Öffnen mit IDLE".

Nun wird die IDLE geöffnet und zwar in einem Modus ohne Subprozesse. Sie
erkennen das im Shell-Fenster an der Zeile:

IDLE 1.1.2 ==== No Subprocess ====

Das Editor-Fenstzer mit dem angeklickten Programm können Sie nun schließen
und fortan mit der IDLE-Shell oder auch mit Editor-Fenstern arbeiten wie
gewünscht und im Buch beschrieben. Das heißt mit uneingeschränkt ineraktiver
Turtle-Grafik:

>>> from turtle import *
>>> forward(100)

...usw.

Lassen Sie mich bitte wissen, ob Ihnen diese Erklärung gereicht hat.
Sehen Sie bitte ab 20. November nochmals auf meiner Website nach.
Vielleicht findet sich dort noch weiteres für Sie Interessantes ...

Beste Grüße
Gregor Lingl
Na also, turtle rockt wieder :D

rolgal_reloaded
Antworten