xturtle und mac

Probleme bei der Installation?
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Wie du in diesem Thread lesen kannst, ergeben sich gelegentlich Probleme, die damit zu tun haben, dass sowohl xturtle als auch IDLE selbst auf Tkinter aufsetzen. Das verleitet schonmal dazu, bei xturtle- (oder Tkinter-)Programmen das abschließende "mainloop()" zu vergessen, weil IDLE durch seine eigene mainloop das Fenster trotzdem offen hält.

Gib doch als letzte(!) Anweisung mal ein:

Code: Alles auswählen

mainloop()
Wenn du Glück hast, ist das schon des Rätsels Lösung.
marci2010
User
Beiträge: 5
Registriert: Donnerstag 23. Oktober 2008, 09:53

Hallo Danke fuer den Tipp!
Gibt es eine Moeglichkeit, dies auch im
interaktiven Modus zu verwenden?
Also in der IDLE

Code: Alles auswählen

import from xturtle *
eingebe und dann mit

Code: Alles auswählen

forward(100)
das neue Fenster sich oeffnet, mit der Xturtle

Danke fuer eure Tipps und Hilfen!!

Viele Gruesse
Marcel
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Ich deute deinen Text so:

Das mit mainloop() hat funktioniert, wenn du einen Quelltext im Editor von IDLE eingibst und das Programm dann ausführst.

Du willst nun auch interaktiv mit der turtle spielen, was aber anscheinend aus irgendeinem Grund nicht geht.

Falls es so ist, wie ich vermute: Wenn es dir um den interaktiven Modus geht, dann brauchst du ja keinen Editor bzw. keine IDE. Dann kannst du doch den Python-Interpreter direkt aufrufen und versuchen, ob es dann klappt.

Auf jeden Fall wirst du eine korrekte import-Anweisung verwenden müssen ... :wink:
marci2010
User
Beiträge: 5
Registriert: Donnerstag 23. Oktober 2008, 09:53

Hi!
Supi schon wieder so schnell eine Antwort.
Also:
mainloop() geht nicht:

Code: Alles auswählen

>>> mainloop()

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    mainloop()
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk/Tkinter.py", line 328, in mainloop
    _default_root.tk.mainloop(n)
AttributeError: 'NoneType' object has no attribute 'tk'
>>> 

Was bedeutet das?
Das sagt mir als Anfaenger gar nichts!


Was geht, ist pyhton in der shell starten, dann
xturtle importieren und mit forward(100)
voila geht ein Fenster auf, das die Turtle zeichnet, ohne die beschriebenen Fenster Probleme.
Da in dem Buch, mit der IDLE gearbeitet wird, wuerde ich auch gerne damit arbeiten.

Vielen Dank fuer den Tipp!
Ein schoenes WE
Gruss
Marcel
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Ich verstehe dich so:

Du kannst IDLE benutzen, um einen Quelltext im Editor einzugeben und aus IDLE heraus zu starten. Das funktioniert, wenn du nach korrektem import von xturtle mainloop() ans Ende setzt.

Du kannst im interaktiven Modus des Python-Interpreters xturtle importieren und die Turtle mit einzelne Anweisungen füttern.

Es gelingt dir aber nicht, innerhalb von IDLE über deren Shell das gleiche zur erreichen.

Richtig? - Wenn ja: Was stört dich jetzt noch?
Ob du für die interaktiven Experimente die IDLE-Shell oder die "echte" Python-Shell ohne IDLE benutzt, ist doch völlig egal.

Oder aber: Das Ausführen von Programmen aus dem IDLE-Editor heraus funktioniert ebenfalls - trotz abschließendem mainloop() - noch nicht. Dann verstehe ich, was dich stört.
marci2010
User
Beiträge: 5
Registriert: Donnerstag 23. Oktober 2008, 09:53

guten Morgen!

Also am WE hatte ich es ausprobiert folgendermassen:

In der IDLE Editor gestartet:

Code: Alles auswählen

from xturtle import *
mainloop()
forward(100)
Dies hat NICHT funktioniert.

Heute getestet:
in der IDLE im Editor

Code: Alles auswählen

from xturtle import *
forward(100)
mainloop()
Das funktioniert!
Wer Lesen kann, ist klar im Vorteil.
Gib doch als letzte(!) Anweisung mal ein:
Also mainloop() ganz am Ende hat es gebracht.

Zusammenfassung:
Wenn ich die IDLE nutzen will, schreibe ich den code in einen Editor und setze Ganz am Ende
mainloop()

Oder ich nehme den interaktiven Modus von Python in der shell.

Supi, ganz,ganz herzlichen Dank, fuer eure Hilfe!!
Jetzt kann ich anfangen Python zu Lernen.
Viele Gruesse und einen schoenen Tag!
Marcel
Antworten