xturtle und mac
-
- User
- Beiträge: 7
- Registriert: Montag 23. Juni 2008, 15:51
gibt es eigentlich eine Seite für Python auf dem MAc wo solche Probleme zusammengefasst sind, leider stehen in meinem Python diesbezüglich keine hinweise
Aloha!
Ich bin OS X User und moechte gerne Python erlernen.
Zu diesem Zweck habe ich mir das Buch von Python for Kids von Gregor Lindl gekauft. Da ich bisher null Ahnung von Programmierung habe, ist das niedrige Einstiegsniveau ideal.
Ich freue mich sehr, das es ein deutschsprachiges Forum gibt.
Als OS nutze ich OS X 10.5.5
Die Python Version ist Python 2.5.2 von Apple.
Mit Hilfe der Anleitung auf:
http://wiki.python.org/moin/MacPython/Leopard
habe ich es auch geschafft, die IDLE zu installieren.
Das Verzeichnis xturtle habe ich in das Verzeichnis
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages
kopiert.
Und eine ASCII Datei mit dem Namen xturtle
ebenfalls im Dir
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages
angelegt mit dem Inhalt xturtle
Soweit so gut.
Wenn ich jetzt die IDLE starte, dann
from xturtle import *
eingebe, bekomme ich die Meldung
Also wird das Modul geladen (Ist es ein Modul?)
Ebenfalls schoen
Nun kann ich mit
Jetzt oeffnet sich auch ein 2. Fenster mit der Turtle, die sich auch Wunschgemaesch bewegt.
Juhuu!
Leider, und dies ist mein Problem, ist dieses Fenster nicht im Vordergrund, laesst sich auch nicht in den Vordergrund holen und die Apple "Sanduhr" erscheint.
Wenn ich das richtig verstanden habe, hat das mit dem Tkinter zu tun.
Interessant ist, das wenn ich die Demo xturtleDemo.py in der IDLE starte,
funktioniert das Fenster des Programms wie gewuenscht.
Allerdings ist der Code des Demo Programm viel zu umfangreich, als das ich das verstehe.
Weiss jemand wie ich xturtle auf dem Mac nutzen kann?
Bin fuer jede Hilfe dankbar.
Viele Gruesse
Marcel
Ich bin OS X User und moechte gerne Python erlernen.
Zu diesem Zweck habe ich mir das Buch von Python for Kids von Gregor Lindl gekauft. Da ich bisher null Ahnung von Programmierung habe, ist das niedrige Einstiegsniveau ideal.
Ich freue mich sehr, das es ein deutschsprachiges Forum gibt.
Als OS nutze ich OS X 10.5.5
Die Python Version ist Python 2.5.2 von Apple.
Mit Hilfe der Anleitung auf:
http://wiki.python.org/moin/MacPython/Leopard
habe ich es auch geschafft, die IDLE zu installieren.
Das Verzeichnis xturtle habe ich in das Verzeichnis
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages
kopiert.
Und eine ASCII Datei mit dem Namen xturtle
ebenfalls im Dir
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages
angelegt mit dem Inhalt xturtle
Soweit so gut.
Wenn ich jetzt die IDLE starte, dann
from xturtle import *
eingebe, bekomme ich die Meldung
Code: Alles auswählen
IDLE 1.2.2
>>> from xturtle import *
xturtle0.95a0 - bugfixes: 1
Loading config-file from: /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/xturtle
>>>
Ebenfalls schoen
Nun kann ich mit
Code: Alles auswählen
forward(100)
Juhuu!
Leider, und dies ist mein Problem, ist dieses Fenster nicht im Vordergrund, laesst sich auch nicht in den Vordergrund holen und die Apple "Sanduhr" erscheint.
Wenn ich das richtig verstanden habe, hat das mit dem Tkinter zu tun.
Interessant ist, das wenn ich die Demo xturtleDemo.py in der IDLE starte,
funktioniert das Fenster des Programms wie gewuenscht.
Allerdings ist der Code des Demo Programm viel zu umfangreich, als das ich das verstehe.
Weiss jemand wie ich xturtle auf dem Mac nutzen kann?
Bin fuer jede Hilfe dankbar.
Viele Gruesse
Marcel
Mit IDLE gibt's öfter Probleme mit Programmen die `Tkinter` verwendet, weil IDLE selbst `Tkinter` benutzt und es nur ein `Tkinter.Tk`-Exemplar pro Programm geben darf. Ansonsten können "lustige" Sachen passieren, inklusive "harter" Abstürze des Python-Programms.
Hi BlackJack!
Danke fuer die Hintergrund Infos.
Ich wusste (bisher) nicht, dass die IDLE auch Tkinter fuer sich selbst nutzt.
Also ist es wohl etwas schwieriger.
Da jedoch das Demo Programm xturtleDemo.py problemlos laeuft, muss es jedoch eine Loesung geben.
Leider verstehe ich den Programmcode von dem Demo Programm
(noch) nicht.
Kann man nicht bestimmte Anweisungen bzw. Vorraussetzungen fuer Tkinter schaffen, damit ein neues Fenster ohne Probs geoeffnet wird?
Viele Gruesse
Marcel
Danke fuer die Hintergrund Infos.
Ich wusste (bisher) nicht, dass die IDLE auch Tkinter fuer sich selbst nutzt.
Also ist es wohl etwas schwieriger.
Da jedoch das Demo Programm xturtleDemo.py problemlos laeuft, muss es jedoch eine Loesung geben.
Leider verstehe ich den Programmcode von dem Demo Programm
(noch) nicht.
Kann man nicht bestimmte Anweisungen bzw. Vorraussetzungen fuer Tkinter schaffen, damit ein neues Fenster ohne Probs geoeffnet wird?
Viele Gruesse
Marcel
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:
Wenn du Glück hast, ist das schon des Rätsels Lösung.
Gib doch als letzte(!) Anweisung mal ein:
Code: Alles auswählen
mainloop()
Hallo Danke fuer den Tipp!
Gibt es eine Moeglichkeit, dies auch im
interaktiven Modus zu verwenden?
Also in der IDLE
eingebe und dann mit
das neue Fenster sich oeffnet, mit der Xturtle
Danke fuer eure Tipps und Hilfen!!
Viele Gruesse
Marcel
Gibt es eine Moeglichkeit, dies auch im
interaktiven Modus zu verwenden?
Also in der IDLE
Code: Alles auswählen
import from xturtle *
Code: Alles auswählen
forward(100)
Danke fuer eure Tipps und Hilfen!!
Viele Gruesse
Marcel
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 ...
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 ...
Hi!
Supi schon wieder so schnell eine Antwort.
Also:
mainloop() geht nicht:
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
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'
>>>
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
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.
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.
guten Morgen!
Also am WE hatte ich es ausprobiert folgendermassen:
In der IDLE Editor gestartet:
Dies hat NICHT funktioniert.
Heute getestet:
in der IDLE im Editor
Das funktioniert!
Wer Lesen kann, ist klar im Vorteil.
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
Also am WE hatte ich es ausprobiert folgendermassen:
In der IDLE Editor gestartet:
Code: Alles auswählen
from xturtle import *
mainloop()
forward(100)
Heute getestet:
in der IDLE im Editor
Code: Alles auswählen
from xturtle import *
forward(100)
mainloop()
Wer Lesen kann, ist klar im Vorteil.
Also mainloop() ganz am Ende hat es gebracht.Gib doch als letzte(!) Anweisung mal ein:
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