Pythonmania

Script Different!

Suchen in:
Suche:
In Partnerschaft mit Amazon.de
Startseite | Schockwellenreiter | Impressum
Anzeigen


How To: MacPython und Tkinter (deutsch)

Es macht großen Spaß, grafische Benutzeroberflächen (GUIs) mit MacPython und Tkinter zu programmieren. Doch leider gibt ein neues frisch installiertes MacPython nur folgende Fehlermeldung aus

Traceback (innermost last):
  File "MacHD:Python
1.5.2c1:Demo:tkinter:matt:animation-w-velocity-ctrl.py",
line 1, in ?
    from Tkinter import *
  File "MacHD:Python 1.5.2c1:Lib:lib-tk:Tkinter.py",
line 8, in ?
    import _tkinter
# If this fails your Python may not be configured for
Tk
ImportError: No module named _tkinter

wenn man versucht, auch nur die einfachsten Beispielprogramme zu starten.

Erstens gibt es einen Bug im Installer von MacPython 1.5.2c1: Die Shared Libs »_tkinter.CFM68K.slb" sowie »_tkinter.ppc.slb« landen aus unerfindlichen Gründen im Ordner »Extensions:Imaging:PIL« innerhalb des Python-Ordners.

Da gehören sie aber nicht hin. Sie müssen in den Ordner »Mac:Plugins« verschoben werden.

Außerdem fehlt nach der Standard-Installation die Pfadangabe »$(PYTHON):Lib:lib-tk«. Die muß manuell mithilfe des Programms »EditPythonPrefs" hinzugefügt werden.

Und unglücklicherweise weigert sich auch der Interpreter, mit »Tkinter« interaktiv zusammenzuarbeiten. »from Tkinter import *« akzeptiert er zwar noch, aber jeden weiteren Versuch, irgend etwas mit Tkinter zu unternehmen, läßt den Interpreter einfrieren.

Wenn man aber die Scripte komplett im Editor schreibt und dann auf das Interpreter-Icon schiebt oder sie als Python-Dokumente abspeichert und per Doppelklick startet, funktioniert alles korrekt.

Von der IDE aus lassen sich Tkinter-Scripte nicht starten. Doch dieses Verhalten ist dokumentiert. sidesmiley picture

Und einen weiteren Tip in diesem Zusammenhang erhielt ich von Russell E. Owen:

Die Preferenz: »Enter interactive mode after script« ist nicht kompatibel mit Tk. Wenn sie eingeschaltet ist, beenden sich Tk-Scripte nicht vernünftig. Ausgeschaltet wird sie ebenfalls mit dem Programm »Edit Python Prefs«. Sie - wie auch einige andere Preferenzen - verbergen sich hinter dem »Default startup options...«-Button.

Und einen anderen Tip schickte mir Peter Funk, der mich auch auf einen Fehler im obigen Text aufmerksam machte:

Wenn man nicht will, dass beim Start einer Tk-Anwendung immer gleich ein Consolen-Fenster mit aufgeht, kann man dies auch in 'EditPythonPrefs' unter 'Default startup options...' abschalten, in dem man den betreffenden Kasten unten in der Dialogbox aktiviert.






Werbung: