Bonjour,

Je suis sur une machine Linux Kubuntu 9.10.

Je débute en Python, et je souhaite scripter XChat, mon client IRC.
Comme l'API ne fourni pas de moyen d'afficher des fenêtre, j'ai voulu utiliser un gestionnaire de fenêtres. Mon choix s'est porté sur Tkinter.

J'ai trouvé ce script sur Internet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-

 import Tkinter

class simpleapp_tk(Tkinter.Tk):
    def __init__(self,parent):
        Tkinter.Tk.__init__(self,parent)
        self.parent = parent
        self.initialize()
 
     def initialize(self):
         self.grid()

         self.entry = Tkinter.Entry(self)
         self.entry.grid(column=0,row=0,sticky='EW')
 
        button = Tkinter.Button(self,text=u"Click me !")
         button.grid(column=1,row=0)

        label = Tkinter.Label(self,
                               anchor="w",fg="white",bg="blue")
         label.grid(column=0,row=1,columnspan=2,sticky='EW')

        self.grid_columnconfigure(0,weight=1)

if __name__ == "__main__":
    app = simpleapp_tk(None)
    app.title('my application')
    app.mainloop()
Lorsque je le lance depuis le shell, il marche très bien.


Mais, depuis XChat, j'ai cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 Traceback (most recent call last):
   File "/home/progval/scripts/xchat/src/tests.py", line 36, in <module>
     app = simpleapp_tk(None)
   File "/home/progval/scripts/xchat/src/tests.py", line 16, in __init__
     Tkinter.Tk.__init__(self,parent)
   File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 1646, in __init__
     self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
 _tkinter.TclError: version conflict for package "Tcl": have 8.4, need 8.5
 Error loading module /home/progval/scripts/xchat/src/tests.py


J'ai les paquets tcl, tcl8.4, tk8.4, tcl8.5, tk8.5, et python-tk installés. Lorsque je souhaite enlever tcl8.4, tk8.4 et tcl se désinstallent avec. Et lorsque j'enlève tcl8.5, c'est tk8.5 et python-tk qui se désinstallent

Que faire ?

Merci d'avance,
ProgVal