[Résolu] Réinstaller complètement python

Salut à tous,

Depuis quelques temps j’ai de gros soucis avec mon interpréteur python (import de modules aléatoires, crash et lags intempestifs des applis’ python, etc…), donc cette fois c’est décidé, je tiens à virer totalement python de mon système et à le remettre proprement (il me semble que j’ai deux gestionnaires de modules différents, pycentral et python-support, ce qui est certainement l’une des causes de ce bordel).

Le truc c’est que j’ai pas envie de foutre mon système en l’air pour une connerie pareille, mais bon, le problème s’est peu à peu généralisé jusque des applis telles que wifi-radar. Et entre python2.4 et python2.5…je vous dis pas. Je suis même obligé de lancer certaines applications en root pour qu’elle veuillent bien tourner, ce qui n’était pas le cas il y a trois semaines.

Il est également courant qu’un programme du style emesene veuille bien se lancer via l’icône gnome (commande “emesene” donc ^^) mais pas via la console. En user, je reçois un tas d’erreurs python, en root, je reçois un “i refuse to run as root”, ce qui me semble tout à fait normal pour cette appli’.

A l’inverse, les applications que je compile moi-même, utilisant python, marchent comme un charme (dans la plupart des cas).

Le souci est le suivant :

1*/ Quelqu’un aurait-il une commande miracle pour effectuer tout ça en récupérant mon système dans l’état où je l’ai laissé, c’est à dire sans cramer toutes mes dépendances ? Vu qu’il semblerait que gnome-core dépende de python-central.
2*/ Quelqu’un aurait-il une méthode miracle pour faire cohabiter python 2.4 et 2.5 ?

Merci par avance.

NB : je suis sous Debian sid.

Re-NB : je me bouffe souvent des erreurs du style :

Je suppose que ça vient de la différence de versions ça.

Edit :

Après études plus approfondies, il semblerait que ces bugs (ralentissements / crash au lancement) ne s’appliquent que lorsque le logiciel est lancé en non root. Le truc qui est étrange, c’est que gksu n’a absolument aucun effet, alors que sudo si.

Exemple chez moi avec wifi-radar :

unknown@UnKnOwN-Debian:/usr/share/pycentral$ wifi-radar bash: wifi-radar: command not found

unknown@UnKnOwN-Debian:/usr/share/pycentral$ gksu wifi-radar Traceback (most recent call last): File "/usr/sbin/wifi-radar", line 2132, in <module> import gtk, gobject File "/var/lib/python-support/python2.5/gtk-2.0/gtk/__init__.py", line 60, in <module> from gtk.deprecation import _Deprecated, _DeprecatedConstant File "/var/lib/python-support/python2.5/gtk-2.0/gtk/deprecation.py", line 24, in <module> import warnings File "/usr/lib/python2.4/warnings.py", line 258, in <module> simplefilter("ignore", category=OverflowWarning, append=1) NameError: name 'OverflowWarning' is not defined Exception exceptions.AttributeError: '_shutdown' in <module 'threading' from '/usr/lib/python2.4/threading.pyo'> ignored

unknown@UnKnOwN-Debian:/usr/share/pycentral$ sudo wifi-radar /root/.themes/Truth+/gtk-2.0/gtkrc:196: error: invalid string constant "theme-combo", expected valid string constant

La dernière est okay, les deux autres non.

A noter que le lanceur wifi-radar de mon dock :

plante également.

Quelqu’un aurait une explication rationelle ^^" ?

J’ai également depuis peu des trucs bizarres à l’install / remove de paquets avec apt-get :

Traitement des « déclenchements (triggers) » pour « python-support »... Traitement des « déclenchements (triggers) » pour « menu »... Traitement des « déclenchements (triggers) » pour « man-db »...

Je ne sais pas si tout ceci a un lien.

j’ai pas la solution complète, m’enfin je te conseil de pas purger d’office les fichier de config.

une petite sauvegarde de /etc/ et si t’a la place une sauvegarde des paquet installer (dans le cas ou sa coince aux niveau des dépendance) coter sauvegarde il y a un fil dans T & A

Salut, merci pour ta réponse.

Ben l’espace disque c’est justement ce qui me manque sur cet ordi ^^’. Et pas de stockage externe valable sous la main.

Là, je viens de tenter une suppression à la brutale de python-support, il a pas aimé et m’a viré la moitié du système, pas grave, un petit apt-get install de la liste remove et on revient à la normale. Le truc c’est que du coup ma situation n’a pas bougé, faudrait’ que je tente la même chose avec python-central. Ce qui est bizarre c’est qu’ils se partagent les modules dans mon système, mais après recherches, il me semble que c’est plus ou moins normal. Le problème serait donc lié aux différentes versions ? Ca me semble un peu gros…

Edit : Autre exemple frappant, emesene :

La commande du dock est “emesene”, elle fonctionne très bien. En revanche en console :

unknown@UnKnOwN-Debian:~$ emesene Traceback (most recent call last): File "/usr/share/emesene/Controller.py", line 21, in <module> import gtk File "/var/lib/python-support/python2.5/gtk-2.0/gtk/__init__.py", line 60, in <module> from gtk.deprecation import _Deprecated, _DeprecatedConstant File "/var/lib/python-support/python2.5/gtk-2.0/gtk/deprecation.py", line 24, in <module> import warnings File "/usr/lib/python2.4/warnings.py", line 258, in <module> simplefilter("ignore", category=OverflowWarning, append=1) NameError: name 'OverflowWarning' is not defined

unknown@UnKnOwN-Debian:~$ gksu emesene Traceback (most recent call last): File "/usr/share/emesene/Controller.py", line 21, in <module> import gtk File "/var/lib/python-support/python2.5/gtk-2.0/gtk/__init__.py", line 60, in <module> from gtk.deprecation import _Deprecated, _DeprecatedConstant File "/var/lib/python-support/python2.5/gtk-2.0/gtk/deprecation.py", line 24, in <module> import warnings File "/usr/lib/python2.4/warnings.py", line 258, in <module> simplefilter("ignore", category=OverflowWarning, append=1) NameError: name 'OverflowWarning' is not defined

unknown@UnKnOwN-Debian:~$ sudo emesene I refuse to run as root

Celui là c’est le mystère, d’autant plus qu’il ne me semble pas que mon dock soit lancé avec des privilèges particuliers.

À vue de nez tu as des problème de droits et de PATH:

[quote]unknown@UnKnOwN-Debian:/usr/share/pycentral$ wifi-radar
bash: wifi-radar: command not found[/quote]
Ça signifie que wifi-radar n’est pas dans ton PATH ou que tu n’as pas les droits pour l’éxécuter. Je penche pour la deuxième solution car ça marche avec sudo. Ça coince en root car root ne peut ouvrir une fenêtre sous X. Je te suggère un
$ ls -l which wifi-radar
avant de tout casser. C’est quand même étonnant ce réflexe à la windows: ça ne marche pas => je réinstalle.

Ca fait un bon moment que je suis sous ma Debian et python m’a toujours fait des misères ^^ donc oui je n’aurai aucun scrupules à le réinstaller.

Pour wifi-radar, c’est normal que je ne puisse pas le lancer autrement qu’en root, je tenais juste à le préciser.

Pour d’autres applications comme emesene, c’est le contraire : je ne suis pas sensé pouvoir le lancer en root.

En tout cas, curieux d’approfondir le raisonnement sur emesene, je me suis amusé à utiliser su (je sais, caylemal).

UnKnOwN-Debian:~# emesene Traceback (most recent call last): File "/usr/share/emesene/Controller.py", line 21, in <module> import gtk File "/var/lib/python-support/python2.5/gtk-2.0/gtk/__init__.py", line 60, in <module> from gtk.deprecation import _Deprecated, _DeprecatedConstant File "/var/lib/python-support/python2.5/gtk-2.0/gtk/deprecation.py", line 24, in <module> import warnings File "/usr/lib/python2.4/warnings.py", line 258, in <module> simplefilter("ignore", category=OverflowWarning, append=1) NameError: name 'OverflowWarning' is not defined

Il semblerait que tout tourne autour de ce ‘OverflowWarning’, je continue à fouiner Google mais pour le moment mis à part quelques soucis avec gnome-app-install, il semble muet.

Et justement, ne se pourrait-il pas (non pas pour wifi-radar, vu que c’est la situation normale) qu’il s’agisse d’un problème de droits sur les paths de mes modules python …?

Edit :

En définitive, à force de fouiner, je suis tombé là-dessus :
groups.google.com/group/grok-br/ … e83c528214

Et effectivement, un simple unset PYTHONPATH a résolu pas mal de problèmes, il importe tous les modules sans soucis et le gksu remarche…je mets en résolu pour le moment, merci à ceux qui se seront pris la peine de répondre de bon matin ^^.

Re-edit : Faux espoir. A chaque lancement d’un terminal, je dois me retaper le unset ^^. Je sais que je pourrais bricoler avec le bashrc mais ça me semble pas super propre comme solution.

En fait, je viens de voir qu’à chaque réouverture de terminal, PYTHONPATH se set à /usr/lib/python2.4, alors que je suis en 2.5 default.

Cette fois-ci, résolu, j’ai viré la ligne qui exporte PYTHONPATH dans mon bashrc.