Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

27.04.2004, 22:36

Python, Tkinter

Hi,

ich habe mir Python installiert und ebenso tcl und tk. Als USE-Flag habe ich "tcltk" hinzugefuegt, damit ich Tkinter innerhalb vom Python verwenden kann.

Nun wollte ich nur testen, ob Tkinter Funktioniert...
[code:1]#!/usr/bin/env python

import Tkinter
[/code:1]

Als Fehler kommt nun folgendes:
[code:1]python pytk.py
Traceback (most recent call last):
File "pytk.py", line 3, in ?
import Tkinter
File "/usr/lib/python2.3/lib-tk/Tkinter.py", line 38, in ?
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
[/code:1]

Er findet das Tkinter Modul also. Doch in der Zeile 38 vim Tkinter.py steht dann:
[code:1]import _tkinter # If this fails your Python may not be configured for Tk
[/code:1]
Das ist ja auch ein Teil der Fehlermeldung, die mir ausgegeben wird.
Was kann ich nun tun? Das Modul wird gefunden. Innerhalb vom Modul gibt es aber Probleme. Habe ich da irgendne Kleinigkeit übersehen?

Danke schonmal, Matflasch
Verteilt die Macht, dass sie keinen mächtig macht!

2

28.04.2004, 08:51

Hast Du nur [code:1]USE="tcltk"[/code:1] angegeben? Dann funktioniert der emerge für Python mit Tkinter nicht! Siehe dazu in /usr/portage/dev-lang/python/ das python-ebuild-Skript. Da steht die Zeile:[code:1][ -z "use X" -o -z "use tcltk" ] && PYTHON_DISABLE_MODULES=${PYTHON_DISABLE_MODULES} _tkinter[/code:1]
Wenn nicht "X" und "tcltk" in den USE-flags enthalten sind, wird kein Tkinter generiert! Deshalb füg' das "tcltk" zu Deinen USE-flags in /etc/make.conf hinzu und emerge Python nochmals. Möglicherweise will emerge dann sogar tk installieren, falls es noch nicht da ist.

Ciao

3

28.04.2004, 12:16

also in der make.conf hatte ich in der USE-Variable folgendes:
[code:1]USE="X gnome gnome2 gtk gtk2 -kde oss avi foomaticdb gif jpeg mpeg ncurses nls ogg vorbis opengl pdflib png python quicktime sdl slang spell ssl svga truetype xmms zlib usb ppds dvd python readline doc build"
[/code:1]

Dann hatte ich gestern "tcltk" hinzugefügt und Python neu installiert. Da es Abhängig vom Paket Python ist, ob Tkinter kompiliert wird, hatte ich gestern nur Python neu installiert.

Ich habe dann gerade, in USE war "tcltk X" mitunter vorhanden, python/tcl/tk, also alle 3 Pakete neu installiert und es hat leider auch keine veränderung gebraucht...Es kommt die selbe Fehlermeldung.

Woran kann das nun liegen?
Gibt es evtl Probleme mit einem der anderen Werte aus der USE-Variable?
Verteilt die Macht, dass sie keinen mächtig macht!

4

28.04.2004, 21:17

Jetzt habe ich's gerade 'mal selbst probiert. Bei mir war kein Tcl/Tk installiert, somit scheiterte das import Tkinter auf jeden Fall.
Ich habe "tcltk" zu meinem USE-Flags hinzugefügt und habe mit[code:1]emerge python[/code:1]den ganzen Plumquatsch geholt, übersetzt und was soll ich sagen, [code:1]Python 2.3.3 (#1, Apr 28 2004, 21:00:10)
[GCC 3.3.3 20040217 (Gentoo Linux 3.3.3, propolice-3.3-7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> dir(Tkinter)
['ACTIVE', 'ALL', 'ANCHOR', 'ARC', 'At', 'AtEnd', 'AtInsert', 'AtSelFirst', 'AtSelLast', 'BASELINE', 'BEVEL', 'BOTH', 'BOTTOM', 'BROWSE', 'BUTT', 'BaseWidget', 'BitmapImage', 'BooleanType', 'BooleanVar', 'BufferType', 'BuiltinFunctionType', 'BuiltinMethodType', 'Button', 'CASCADE', 'CENTER', 'CHAR', 'CHECKBUTTON', 'CHORD', 'COMMAND', 'CURRENT', 'CallWrapper', 'Canvas', 'Checkbutton', 'ClassType', 'CodeType', 'ComplexType', 'DISABLED', 'DictProxyType', 'DictType', 'DictionaryType', 'DoubleVar', 'E', 'END', 'EW', 'EXCEPTION', 'EXTENDED', 'EllipsisType', 'Entry', 'Event', 'FALSE', 'FIRST', 'FLAT', 'FileType', 'FloatType', 'Frame', 'FrameType', 'FunctionType', 'GROOVE', 'GeneratorType', 'Grid', 'HIDDEN', 'HORIZONTAL', 'INSERT', 'INSIDE', 'Image', 'InstanceType', 'IntType', 'IntVar', 'LAST', 'LEFT', 'Label', 'LabelFrame', 'LambdaType', 'ListType', 'Listbox', 'LongType', 'MITER', 'MOVETO', 'MULTIPLE', 'Menu', 'Menubutton', 'Message', 'MethodType', 'Misc', 'ModuleType', 'N', 'NE', 'NO', 'NONE', 'NORMAL', 'NS', 'NSEW', 'NUMERIC', 'NW', 'NoDefaultRoot', 'NoneType', 'NotImplementedType', 'OFF', 'ON', 'OUTSIDE', 'ObjectType', 'OptionMenu', 'PAGES', 'PIESLICE', 'PROJECTING', 'Pack', 'PanedWindow', 'PhotoImage', 'Place', 'RADIOBUTTON', 'RAISED', 'READABLE', 'RIDGE', 'RIGHT', 'ROUND', 'Radiobutton', 'S', 'SCROLL', 'SE', 'SEL', 'SEL_FIRST', 'SEL_LAST', 'SEPARATOR', 'SINGLE', 'SOLID', 'SUNKEN', 'SW', 'Scale', 'Scrollbar', 'SliceType', 'Spinbox', 'StringType', 'StringTypes', 'StringVar', 'Studbutton', 'TOP', 'TRUE', 'TclError', 'TclVersion', 'Text', 'Tk', 'TkVersion', 'Toplevel', 'TracebackType', 'Tributton', 'TupleType', 'TypeType', 'UNITS', 'UnboundMethodType', 'UnicodeType', 'VERTICAL', 'Variable', 'W', 'WORD', 'WRITABLE', 'Widget', 'Wm', 'X', 'XRangeType', 'Y', 'YES', '_MacOS', '__builtins__', '__doc__', '__file__', '__name__', '__version__', '_cnfmerge', '_default_root', '_exit', '_flatten', '_setit', '_support_default_root', '_test', '_tkerror', '_tkinter', '_varnum', 'getboolean', 'getdouble', 'getint', 'image_names', 'image_types', 'mainloop', 'sys', 'tkinter', 'wantobjects']
[/code:1]
Von daher denke ich, daß bei Dir einfach etwas durcheinander gekommen ist, wenn zuerst Python da war und danach Tcl/Tk installiert wurde und dann "tcltk" in die USE-Flags gesetzt wurde, erkennt emerge das nicht mehr. Hau' das ganze Zeug doch einfach nochmals mit
[code:1]emerge -C python tcl tk[/code:1]weg und mach's nochmal.

Ciao

5

29.04.2004, 13:41

hmm ich hatte "tcltk" ja eingetragen und alle neu kompiliert, aber nicht vorher gelöscht...

Nun habe ich "emerge -C python tcl tk" ausgeführt und wollte "emerge -p python tcl tk" ausführen um die abhängigkeiten erstmal zu sehen, dabei gibt es nur jetzt ein problem. Gentoo, bzw emerge, braucht python wohl....

[code:1]emerge -p python tcl tk
bash: /usr/bin/emerge: /usr/bin/python: bad interpreter: Datei oder Verzeichnis nicht gefunden
[/code:1]

Und nun?

wie kann ich nun etwas installieren?
Verteilt die Macht, dass sie keinen mächtig macht!

6

29.04.2004, 15:36

Ja, emerge benötigt python, allerdings nicht unbedingt die aktuelle Version.

Warum hat das bei mir funktioniert? Möglicherweise, weil ich noch ein Python 2.2 installiert hatte, das dann als Rückfallmöglichkeit diente.

Okay, wir kommen wir damit klar?

1) Hol' Dir von http://dev.gentoo.org/~avenj/bins/ ein aktuelles Python-Paket

2) Auspacken mit tar -xvjfpython-2.3.3.tbz2 -C /
Symlink anlegen mit ln -s /usr/bin/python2.3 /usr/bin/python

3) Jetzt hast Du wieder ein funktionierendes Python, das Du auch gleich noch als Rückfallmöglichkeit verwenden kannst

4) Tcl/Tk sind schon weg? Wenn nein, unmerge durchführen

5) "tcltk" in USE-Variable aufnehmen

6) Und nochmals emerge python aufrufen. Mit dem "-p" Parameter kannst Du erstmal überprüfen, was denn so alles installiert würde. Python müßte eigentlich neu installiert werden, da es ja für portage vom System verschwunden ist.

Ich werde diese Procedere gerade 'mal selbst auf einem anderen Rechner probieren. Auf diesem war Tcl/Tk auch schon installiert und Tkinter ist nicht erreichbar. Ich melde mich wieder.

Ciao

7

29.04.2004, 18:30

Ok, da bin ich wieder.

Nach [code:1]emerge -C tcl tk[/code:1]
und dem Hinzufügen von "tcltk" in die USE-Variable, habe ich ein [code:1]emerge -u python[/code:1] gemacht und
[code:1]Python 2.3.3 (#1, Apr 29 2004, 18:11:58)
[GCC 3.3.3 20040412 (Gentoo Linux 3.3.3-r3, ssp-3.3-7, pie-8.5.3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> dir(Tkinter)
['ACTIVE', 'ALL', 'ANCHOR', 'ARC', 'At', 'AtEnd', 'AtInsert', 'AtSelFirst', 'AtSelLast', 'BASELINE', 'BEVEL', 'BOTH', 'BOTTOM', 'BROWSE', 'BUTT', 'BaseWidget', 'BitmapImage', 'BooleanType', 'BooleanVar', 'BufferType', 'BuiltinFunctionType', 'BuiltinMethodType', 'Button', 'CASCADE', 'CENTER', 'CHAR', 'CHECKBUTTON', 'CHORD', 'COMMAND', 'CURRENT', 'CallWrapper', 'Canvas', 'Checkbutton', 'ClassType', 'CodeType', 'ComplexType', 'DISABLED', 'DictProxyType', 'DictType', 'DictionaryType', 'DoubleVar', 'E', 'END', 'EW', 'EXCEPTION', 'EXTENDED', 'EllipsisType', 'Entry', 'Event', 'FALSE', 'FIRST', 'FLAT', 'FileType', 'FloatType', 'Frame', 'FrameType', 'FunctionType', 'GROOVE', 'GeneratorType', 'Grid', 'HIDDEN', 'HORIZONTAL', 'INSERT', 'INSIDE', 'Image', 'InstanceType', 'IntType', 'IntVar', 'LAST', 'LEFT', 'Label', 'LabelFrame', 'LambdaType', 'ListType', 'Listbox', 'LongType', 'MITER', 'MOVETO', 'MULTIPLE', 'Menu', 'Menubutton', 'Message', 'MethodType', 'Misc', 'ModuleType', 'N', 'NE', 'NO', 'NONE', 'NORMAL', 'NS', 'NSEW', 'NUMERIC', 'NW', 'NoDefaultRoot', 'NoneType', 'NotImplementedType', 'OFF', 'ON', 'OUTSIDE', 'ObjectType', 'OptionMenu', 'PAGES', 'PIESLICE', 'PROJECTING', 'Pack', 'PanedWindow', 'PhotoImage', 'Place', 'RADIOBUTTON', 'RAISED', 'READABLE', 'RIDGE', 'RIGHT', 'ROUND', 'Radiobutton', 'S', 'SCROLL', 'SE', 'SEL', 'SEL_FIRST', 'SEL_LAST', 'SEPARATOR', 'SINGLE', 'SOLID', 'SUNKEN', 'SW', 'Scale', 'Scrollbar', 'SliceType', 'Spinbox', 'StringType', 'StringTypes', 'StringVar', 'Studbutton', 'TOP', 'TRUE', 'TclError', 'TclVersion', 'Text', 'Tk', 'TkVersion', 'Toplevel', 'TracebackType', 'Tributton', 'TupleType', 'TypeType', 'UNITS', 'UnboundMethodType', 'UnicodeType', 'VERTICAL', 'Variable', 'W', 'WORD', 'WRITABLE', 'Widget', 'Wm', 'X', 'XRangeType', 'Y', 'YES', '_MacOS', '__builtins__', '__doc__', '__file__', '__name__', '__version__', '_cnfmerge', '_default_root', '_exit', '_flatten', '_setit', '_support_default_root', '_test', '_tkerror', '_tkinter', '_varnum', 'getboolean', 'getdouble', 'getint', 'image_names', 'image_types', 'mainloop', 'sys', 'tkinter', 'wantobjects']
>>>
[/code:1]

Ciao

8

03.05.2004, 13:32

Danke für die Hilfe...
Es hat nun so geklappt...
Verteilt die Macht, dass sie keinen mächtig macht!

9

14.01.2005, 05:27

Tkinter anschliessen

Danke fuer die Hilfe.

Habe eben das Problem gehabt. Waere schon brauchbar wenn emerge sowas wie
emerge -force python
haette, um USE "tclktk" hereinzubauen. Wie Ihr schon gefunden habt, python einfach abzumachen lohnt sich nicht.

Habe
emerge -C tk; emerge -C tk
gemacht, und dann
emerge -uDp python
aber das erneute alles ausser python

Was mich sozusagen gerettet hat, war der Umsatz von python-2.3.4 auf python-2.4, was endlich mal Tkinter mit hereingebracht hat. Komischerweise, habe ich nie das Problem bei x86 gehabt, nur AMD-64...

arnim