Pythonmania.de
Script different! Mein Icon

Navigation:

 Startseite
 Python bei O'Reilly
 Python & Tkinter
 Tkinter (deutsch)
 Tkinter (english)
 ftp mit Python
 Dialogboxen
 Kapitän
 Warum Python?
 Erste Schritte
 Grafische Ausgabe
 Das Modul W
 Easy Dialogs
 Mac File Dialogs
 Apfelmännchen
 Piddle & MacOS X
 Dancing Python
 User-Agenten
 XML-RPC
 Blogger API
 Anti-Spam-Script
 Template-Engine
 Python & XML
 Python Cookbook
 Impressum
 Schockwellenreiter

Python Logo

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. {imageRef("sidesmiley")}

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.


Mein Icon © Copyright 2000 - 2002: Jörg Kantel.
Last update: 13.10.2002; 21:33:54 Uhr.
This site is edited with Radio UserLand, the first personal Web Application server for Windows and Macintosh.  Let iCab smile  Site Meter