# [denu/porthole] pas de module gtk

## superman2001

Bonjour,

J'ai emergé denu pour éditer mon menu gnome, mais quand je l'exécute, il m'affiche ceci : 

```
Traceback (most recent call last):

  File "/usr/bin/denu", line 21, in ?

    import gtk

ImportError: No module named gtk
```

J'ai eu beau faire des recherches dans les forums gentoo, aucune solution proposée ne résout mon problème.

Merci d'avance pour votre aide.

Superman2001Last edited by superman2001 on Sat Jun 11, 2005 12:50 pm; edited 1 time in total

----------

## kernelsensei

il me semble qu'il y a une merde avec les modules python, en fait denu ne les trouve pas alors qu'ils sont bien la, j'avais ce probleme quand j'avais installe denu a la main a l'epoque, il me semble que j'avais resolu le probleme en copiant les modules en question directement dans le repertoire de denu ...

----------

## superman2001

Est-ce que par hasard, tu te souviendrais où se situent les fichiers en question?

Je vais essayer et je dirai quoi.

----------

## superman2001

Personne n'a d'idées?

----------

## titix

A tout hasard est-ce que dev-python/pygtk est installé ?

Si ce n'est pas le cas emerge le sait-on jamais  :Wink: 

----------

## superman2001

Il est installé dans sa version 2.6.1

----------

## superman2001

Aucune idée?

----------

## GuillaumeB

Par hasard, tu n'aurais pas mit python à jour dernièrement ? (en version 2.4 par exemple ?)

Sinon il faut lancer python-updater (regarde dans tes logs de compilation de python ou dans l'ebuild).

Sinon, esseye un truc :

$ python

>>> import gtk

Si cela fonctionne, le problème viens de ton soft qui doit pourrir le PATH de recherche des modules. Sinon c'est que cela viens de Python en soit.

----------

## superman2001

Le truc m'a l'air de fonctionner dans le sens où ça n'affiche rien après avoir tapé import gtk.

C'est que ça vient des softs eux-mêmes. J'ai beau les réemerger, rien n'y fait.

----------

## GuillaumeB

Chez moi ça marche.

Version de neu ? 2.3.2 chez moi.

Python ? 2.3.5 chez moi.

----------

## superman2001

Denu : 2.3.2

Python : 2.4.1-r1

Porthole : 0.4.1

PyGTK : 2.6.1

Peut-être python lui-même qui sait?

----------

## GuillaumeB

Oki, alors on va jouer au jeu des devinettes.

Tu as python 2.4.

Apparament, tu n'es pas codeur python, donc tu n'a eu en aucun cas le besoin d'unmasker python 2.4 qui l'était jusqu'a la semaine dernièere.

Par contre, tu dois être en unstable, donc python à du se mettre en version 2.4 la semaine dernière lors d'une update.

Bref. As tu fait la mise à jour des librairies de Pyhton (comme ils le disent lors de la mise à jour de python via python-updater) ? Si non, tu peux la faire?

Autre choses :

guillaume@Kascrol bin $ ls -alh /usr/bin/python*

Verifie vers quel version python pointe.

Quand tu fais $ python --> quel est le numero de version que le prompt t'indique ?

Même chose avec $ /usr/bin/env python

Verifie cela.

----------

## superman2001

Je ne suis en effet pas codeur python (langage inconnu au bataillon, uniquement connu de nom).

Et comme tu l'as deviné, je suis en instable. Peut-être devrais-je remettre python en stable  :Question: 

Réponses aux devinettes :

1) 

```
# python-updater

 * Can't determine any previous Python version(s).
```

2) 

```
# ls -alh /usr/bin/python*

lrwxrwxrwx  1 root root    9 jun 30 23:59 /usr/bin/python -> python2.4

lrwxrwxrwx  1 root root    9 jun 30 23:59 /usr/bin/python2 -> python2.4

-rwxr-xr-x  1 root root 3,8K jun 30 23:58 /usr/bin/python2.4

-rwxr-xr-x  1 root root  179 jun 30 23:58 /usr/bin/python-config
```

3) 

```
# python

Python 2.4.1 (#1, Jun 30 2005, 23:56:35)

[GCC 3.4.4 (Gentoo 3.4.4, ssp-3.4.4-1.0, pie-8.7.8)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

```

4) même chose avec /usr/bin/env python

Tout m'a l'air correct.

----------

## GuillaumeB

Truc que j'ai oublié :

```

$ /usr/bin/env python

>>> import gtk

```

Si là cela fonctionne, je saute au plafond.

Sinon, esseye de voir de crée un fichier

```

#!/usr/bin/env python

import gtk

```

Et verifie bien que les 4 premières lignes de ton denu sont :

```

import pygtk,string,os,cPickle,urllib2,re

pygtk.require('2.0')

home = os.environ['HOME']

import gtk

```

Etonnant aussi qu'il ne trouve pas ton ancienne version de python... (Sauf si ton installation est super récente et que tu à été en unstable dés le bootstrap, alors tu n'aurais peux-être que python 2.4 par defaut.

Bon, on progresse ;o)

----------

## superman2001

Voici ce que ça donne :

```
# /usr/bin/env python

>>> import gtk

>>>
```

Et avec le fichier :

```
# ./gtk_test.py

#
```

Et les 4 premières lignes de denu (commentaires non compris  :Smile:  ):

```
import pygtk,string,os,cPickle,urllib2,re

pygtk.require('2.0')

home = os.environ['HOME']

import gtk
```

Voilà.

----------

## GuillaumeB

Humm, c'est louche ça...

Sauf truc qui m'echape, il n'y à rien de logique dans cette histoire... Désolé.

----------

## superman2001

Je vire python et tout ce qui l'utilise et je réemerge tout ou ça ne sert à rien?

----------

## ttgeub

Si tu vires python, tu risque pas de réemerger grand chose. Portage repose sur python. Donc je te déconseille tres fortement de le virer ...

----------

## superman2001

Très juste, j'avais oublié. Zut alors. Que faire dès lors? Une réinstallation de Gentoo?  :Confused: 

----------

## GuillaumeB

Esseye de downgrader Python... (Là franchement ont à atteint les limites de ma science, c'est plus que de l'empirique...)

----------

## superman2001

Ok, downgrade vers la version stable (2.3.5).

Euh, une fois compilé, je fais quoi? python-updater de 2.4 vers 2.3, sachant que je garde pour l'instant python-2.4 au cas où?

----------

## GuillaumeB

C'est une sacrée bonne question que tu me pose là  :Smile: 

Je viens de jeter un oeil rapide au script python-updater. Bien que je ne connais RIEN en sheel script, j'ai cru comprandre qu'il prenait la version que lui renvoie python comme version courante.

Donc esseye de changer le symlink de python de python 2.4 à python 2.3 et voi ce qui se passe.

----------

## superman2001

J'ai vu qu'il était possible de passer d'une version à l'autre sans faire de chipotage :

```
python-updater -o 2.4 -n 2.3
```

Cette commande devrait permettre de passer de python-2.4 à python-2.3.

Ce sera plus propre que de changer les liens symboliques je pense.

----------

## matlj

J'ai eu ce problème là aussi. 

Si je me souviens bien, une des upgrade a installé des liens récursifs bizarres dans /usr/bin/, qui empêchent pygtk de fonctionner. 

En gros, un rm -rf  /usr/bin/gtk devrait resoudre le problème. 

(_si je me souviens bien... Verifiez d'abord qu'il s'agit bien d'un lien récursif_)

----------

## superman2001

Voilà ce que j'ai :

```
# ls -l /usr/bin/gtk

lrwxrwxrwx  1 root root 13 mai  9 18:12 /usr/bin/gtk -> /usr/lib//gtk
```

C'est récursif d'après toi?

----------

## matlj

Ah oui, je me souviens maintenant, c'est /usr/lib/gtk/ qui boucle sur lui même. 

Essaie de faire un mv /usr/bin/gtk /root 

pour pouvoir le remettre au cas où, mais ce lien n'a rien à faire dans /usr/bin/

----------

## superman2001

Chez moi, ça ne boucle pas.

```
# ls -l /usr/lib/gtk

total 4

drwxr-xr-x  3 root root 4096 mai  9 16:10 themes
```

Le déplacement de /usr/bin/gtk dans /root ne change rien.

Je viens d'ailleurs de remarquer que certains dossiers et fichiers dans /usr/bin pointaient vers leur équivalent dans /usr/lib.

Voilà la liste :

```
ls -l /usr/bin/ | grep lrwxrwxrwx | grep /usr/lib//

lrwxrwxrwx  1 root root        17 mai  9 18:12 allegro -> /usr/lib//allegro

lrwxrwxrwx  1 root root        12 mai  9 18:12 ao -> /usr/lib//ao

lrwxrwxrwx  1 root root        17 mai  9 18:12 apache2 -> /usr/lib//apache2

lrwxrwxrwx  1 root root        17 mai  9 18:12 apr.exp -> /usr/lib//apr.exp

lrwxrwxrwx  1 root root        21 mai  9 18:12 aprutil.exp -> /usr/lib//aprutil.exp

lrwxrwxrwx  1 root root        21 mai  9 18:12 aspell-0.60 -> /usr/lib//aspell-0.60

lrwxrwxrwx  1 root root        21 mai  9 18:12 avifile-0.7 -> /usr/lib//avifile-0.7

lrwxrwxrwx  1 root root        18 mai  9 18:12 binutils -> /usr/lib//binutils

lrwxrwxrwx  1 root root        16 mai  9 18:12 bonobo -> /usr/lib//bonobo

lrwxrwxrwx  1 root root        20 mai  9 18:12 bonobo-2.0 -> /usr/lib//bonobo-2.0

lrwxrwxrwx  1 root root        16 mai  9 18:12 crt1.o -> /usr/lib//crt1.o

lrwxrwxrwx  1 root root        16 mai  9 18:12 crti.o -> /usr/lib//crti.o

lrwxrwxrwx  1 root root        16 mai  9 18:12 crtn.o -> /usr/lib//crtn.o

lrwxrwxrwx  1 root root        14 mai  9 18:12 cups -> /usr/lib//cups

lrwxrwxrwx  1 root root        25 mai  9 18:12 directfb-0.9.22 -> /usr/lib//directfb-0.9.22

lrwxrwxrwx  1 root root        25 mai  9 18:12 e2initrd_helper -> /usr/lib//e2initrd_helper

lrwxrwxrwx  1 root root        18 mai  9 18:12 elfutils -> /usr/lib//elfutils

lrwxrwxrwx  1 root root        18 mai  9 18:12 fltk-1.1 -> /usr/lib//fltk-1.1

lrwxrwxrwx  1 root root        15 mai  9 18:12 GConf -> /usr/lib//GConf

lrwxrwxrwx  1 root root        15 mai  9 18:12 gconv -> /usr/lib//gconv

lrwxrwxrwx  1 root root        17 mai  9 18:12 gcrt1.o -> /usr/lib//gcrt1.o

lrwxrwxrwx  1 root root        20 mai  9 18:12 gdk-pixbuf -> /usr/lib//gdk-pixbuf

lrwxrwxrwx  1 root root        27 mai  9 18:12 gdk_pixbufConf.sh -> /usr/lib//gdk_pixbufConf.sh

lrwxrwxrwx  1 root root        20 mai  9 18:12 gentoolkit -> /usr/lib//gentoolkit

lrwxrwxrwx  1 root root        14 mai  9 18:12 gimp -> /usr/lib//gimp

lrwxrwxrwx  1 root root        34 mai  9 18:12 gnomecanvaspixbufConf.sh -> /usr/lib//gnomecanvaspixbufConf.sh

lrwxrwxrwx  1 root root        22 mai  9 18:12 gnomeConf.sh -> /usr/lib//gnomeConf.sh

lrwxrwxrwx  1 root root        21 mai  9 18:12 gnome-spell -> /usr/lib//gnome-spell

lrwxrwxrwx  1 root root        23 mai  9 18:12 gnome-vfs-2.0 -> /usr/lib//gnome-vfs-2.0

lrwxrwxrwx  1 root root        23 mai  9 18:12 gstreamer-0.8 -> /usr/lib//gstreamer-0.8

lrwxrwxrwx  1 root root        17 mai  9 18:12 gtk-2.0 -> /usr/lib//gtk-2.0

lrwxrwxrwx  1 root root        17 mai  9 18:12 gtkhtml -> /usr/lib//gtkhtml

lrwxrwxrwx  1 root root        19 mai  9 18:12 gtkmm-2.0 -> /usr/lib//gtkmm-2.0

lrwxrwxrwx  1 root root        26 mai  9 18:12 hacklocaledir.so -> /usr/lib//hacklocaledir.so

lrwxrwxrwx  1 root root        14 mai  9 18:12 kde3 -> /usr/lib//kde3

lrwxrwxrwx  1 root root        16 mai  9 18:12 ladspa -> /usr/lib//ladspa

lrwxrwxrwx  1 root root        17 mai  9 18:12 Mcrt1.o -> /usr/lib//Mcrt1.o

lrwxrwxrwx  1 root root        14 mai  9 18:12 misc -> /usr/lib//misc

lrwxrwxrwx  1 root root        17 mai  9 18:12 modules -> /usr/lib//modules

lrwxrwxrwx  1 root root        15 mai  9 18:12 motif -> /usr/lib//motif

lrwxrwxrwx  1 root root        24 mai  9 18:12 MozillaFirefox -> /usr/lib//MozillaFirefox

lrwxrwxrwx  1 root root        13 mai  9 18:12 nfs -> /usr/lib//nfs

lrwxrwxrwx  1 root root        14 mai  9 18:12 nptl -> /usr/lib//nptl

lrwxrwxrwx  1 root root        19 mai  9 18:12 nsbrowser -> /usr/lib//nsbrowser

lrwxrwxrwx  1 root root        16 mai  9 18:12 opengl -> /usr/lib//opengl

lrwxrwxrwx  1 root root        23 mai  9 18:12 openmotif-2.2 -> /usr/lib//openmotif-2.2

lrwxrwxrwx  1 root root        19 mai  9 18:12 orbit-2.0 -> /usr/lib//orbit-2.0

lrwxrwxrwx  1 root root        15 mai  9 18:12 pango -> /usr/lib//pango

lrwxrwxrwx  1 root root        15 mai  9 18:12 perl5 -> /usr/lib//perl5

lrwxrwxrwx  1 root root        19 mai  9 18:12 pkgconfig -> /usr/lib//pkgconfig

lrwxrwxrwx  1 root root        17 mai  9 18:12 portage -> /usr/lib//portage

lrwxrwxrwx  1 root root        14 mai  9 18:12 pppd -> /usr/lib//pppd

lrwxrwxrwx  1 root root        13 mai  9 18:12 ppr -> /usr/lib//ppr

lrwxrwxrwx  1 root root        15 mai  9 18:12 pygtk -> /usr/lib//pygtk

lrwxrwxrwx  1 root root        14 mai  9 18:12 real -> /usr/lib//real

lrwxrwxrwx  1 root root        15 mai  9 18:12 samba -> /usr/lib//samba

lrwxrwxrwx  1 root root        15 mai  9 18:12 sasl2 -> /usr/lib//sasl2

lrwxrwxrwx  1 root root        17 mai  9 18:12 Scrt1.o -> /usr/lib//Scrt1.o

lrwxrwxrwx  1 root root        18 mai  9 18:12 sendmail -> /usr/lib//sendmail

lrwxrwxrwx  1 root root        20 mai  9 18:12 sigc++-1.2 -> /usr/lib//sigc++-1.2

lrwxrwxrwx  1 root root        17 mai  9 18:12 swig1.3 -> /usr/lib//swig1.3

lrwxrwxrwx  1 root root        16 mai  9 18:12 tcl8.4 -> /usr/lib//tcl8.4

lrwxrwxrwx  1 root root        22 mai  9 18:12 tclConfig.sh -> /usr/lib//tclConfig.sh

lrwxrwxrwx  1 root root        17 mai  9 18:12 tclX8.3 -> /usr/lib//tclX8.3

lrwxrwxrwx  1 root root        23 mai  9 18:12 tclxConfig.sh -> /usr/lib//tclxConfig.sh

lrwxrwxrwx  1 root root        18 mai  9 18:12 terminfo -> /usr/lib//terminfo

lrwxrwxrwx  1 root root        16 mai  9 18:12 tix8.2 -> /usr/lib//tix8.2

lrwxrwxrwx  1 root root        15 mai  9 18:12 tk8.4 -> /usr/lib//tk8.4

lrwxrwxrwx  1 root root        21 mai  9 18:12 tkConfig.sh -> /usr/lib//tkConfig.sh

lrwxrwxrwx  1 root root        16 mai  9 18:12 tkX8.3 -> /usr/lib//tkX8.3

lrwxrwxrwx  1 root root        22 mai  9 18:12 tkxConfig.sh -> /usr/lib//tkxConfig.sh

lrwxrwxrwx  1 root root        15 mai  9 18:12 vhook -> /usr/lib//vhook

lrwxrwxrwx  1 root root        23 mai  9 18:12 webapp-config -> /usr/lib//webapp-config

lrwxrwxrwx  1 root root        15 mai  9 18:12 win32 -> /usr/lib//win32

lrwxrwxrwx  1 root root        12 mai  9 18:12 wx -> /usr/lib//wx

lrwxrwxrwx  1 root root        15 mai  9 18:12 xchat -> /usr/lib//xchat

lrwxrwxrwx  1 root root        21 mai  9 18:12 xml2Conf.sh -> /usr/lib//xml2Conf.sh

lrwxrwxrwx  1 root root        20 mai  9 18:12 xmlConf.sh -> /usr/lib//xmlConf.sh

lrwxrwxrwx  1 root root        21 mai  9 18:12 xsltConf.sh -> /usr/lib//xsltConf.sh
```

Il y a des intrus?

----------

## superman2001

Je suis passé de python 2.4 à python 2.3.

Rien de changé.

----------

