läuft die neuste Version von TK auf Python?

Fragen zu Tkinter.
Antworten
lbuega
User
Beiträge: 75
Registriert: Dienstag 15. April 2003, 08:51
Wohnort: Weissach

Hallo, hat jemand die neuste Python (stable, 2.2.2) sowie die TK (8.4.2) zusammen produktiv im Einsatz? Gibts irgendwo ne Übersicht ob und was zusammen geht oder nicht?
(Bei mir scheiterts leider schon am make-file für Python nachdem ich in der config die TK versucht habe zu aktivieren)
Gast

Hallo!

Die Version 2.2.2 wird binär üblicherweise mit Tk der Version 8.3.irgendwas ausgeliefert. Mit Tk 8.4.2 hat Python 2.2.2 wohl Probleme.

Zitat von Fredrik Lundh in comp.lang.python[1]: "for some strange reason, the Tcl/Tk folks don't care much about compatibility; they're even changing C function signatures from one release to another... too many amateurs involved, obviously" ;-)

Jan

[1] Message-ID: <mailman.1052639658.2414.python-list@python.org>
lbuega
User
Beiträge: 75
Registriert: Dienstag 15. April 2003, 08:51
Wohnort: Weissach

Mmh, interessant. Vielen Dank.

Hat jemand ähnliche oder gegensätzliche Erfahrungen gemacht?

Und: ist Tk im Standard-Sourcecode von Python (speziell 2.2.2) bereits integriert (welche Version?) oder bedarf es eines separaten Downloads und Installation?
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

lbuega hat geschrieben:Und: ist Tk im Standard-Sourcecode von Python (speziell 2.2.2) bereits integriert (welche Version?) oder bedarf es eines separaten Downloads und Installation?
Letzteres. Pythons Sourcecode enthält nicht den Sourcecode von Tcl/Tk. Wäre vielleicht auch etwas heftig. Und offensichtlich kann die Tkinter-Unterstützung ohne installiertes Tcl/Tk auch nicht reinkompiliert werden.
Aus der README-Datei des Python-2.2.2-Sourcecodes:
Tkinter
-------
The setup.py script automatically configures this when it detects a
usable Tcl/Tk installation. This requires Tcl/Tk version 8.0 or
higher.
Wobei eben Tk-Versionen ab 8.4 nicht zu empfehlen sind.

Jan
lbuega
User
Beiträge: 75
Registriert: Dienstag 15. April 2003, 08:51
Wohnort: Weissach

Vielen Dank Jan.
Werde gleich die 8.3er Version für meine Unix-Büchse runterladen und installieren. Tcl hab ich bereits installiert, jedoch auch die neuste stable (8.4.2) Könnte das mit dem 8.3er TK kollidieren wenn ich das nun nachträglich installiere?
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

lbuega hat geschrieben:Könnte das mit dem 8.3er TK kollidieren wenn ich das nun nachträglich installiere?
Tja, wer weiß das schon. Ausprobieren. wird sicher so sein, dass setup.py die neueste Tk-Version zu erkennen versucht. Vielleicht mal einen Blick in die Datei setup.py werfen und ggf. patchen.

Falls auf dem Rechner Tcl/Tk auch ohne Python gebraucht wird, kann es natürlich auch zu Problemen kommen. Im günstigsten Fall sind eine paar symbolische Links zu korrigieren.

Jan
lbuega
User
Beiträge: 75
Registriert: Dienstag 15. April 2003, 08:51
Wohnort: Weissach

o.k., um ganz auf Nummer sicher zu gehen wurde jetzt sämtliche Installationen gekillt (py,tcl,tk) und anschließende zuerst die tcl 8.3.5 danach tk 8.3.5 (ohne Probleme und mit unveränderten config/setup-files) und anschließend python 2.2.2 installiert (diese hing sich bei make test auf, make install hingegen lief durch). Das Ergebnis ist nun folgendes:

Code: Alles auswählen

Python 2.2.2 (#1, May 14 2003, 16:45:45) [C] on aix4
Type "help", "copyright", "credits" or "license" for more information.
>>> from Tkinter import *
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/users/gcadc30/REHN/PYTHON/lib/python2.2/lib-tk/Tkinter.py", line 35, in ?
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
>>> from Tkinter import *
>>> root=Tk()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
NameError: name 'Tk' is not defined
>>> 
Das import "funktioniert" erst beim 2. Aufruf, jedoch kann anscheinend nichts benutzt werden; auch ein

Code: Alles auswählen

Tkinter._test()
bringt dieselbe Fehlermeldung! *confused*
lbuega
User
Beiträge: 75
Registriert: Dienstag 15. April 2003, 08:51
Wohnort: Weissach

Für alle die auf dieses Thema/Problem stossen, mehr dazu gibts in foldendem Thread: http://python.sandtner.net/viewtopic.php?p=2465#2465 oder unter http://www.python.org/topics/tkinter/trouble.html
lbuega
User
Beiträge: 75
Registriert: Dienstag 15. April 2003, 08:51
Wohnort: Weissach

Hallo,
habe jetzt nur Tcl 8.3.5, dann TK (ebenfalls 8.3.5) und anschließend Python 2.2.2 installiert. Läuft rund, keine Probleme - jedenfalls nach einer Woche.

Jedoch müßte ich es mit der 8.4er Version nochmals versuchen, da die o.g. Fehlermeldungen aus falschen Pfadangaben resultieren. Falls das irgendwann geschehen wird, werde ich das Ergebnis hier bekannt geben.
Antworten