Apt-get : Python Traceback error après usage

Bonjour à tous,

Je suis sous Debian depuis hier matin, tout s’est très bien passé, sauf un truc qui me chagrine : j’ai installé hier cx-freeze pour rendre un programme Python exécutable pour un copain, et depuis ce matin, quand j’installe/désinstalle un packge avec apt-get, à la fin de l’installation j’ai l’erreur suivante (qui n’a rien à voir avec apt-get!) :

Traceback (most recent call last):
File “/usr/local/lib/python2.7/dist-packages/cx_Freeze/initscripts/startup.py”, line 13, in run
ImportError: No module named test__init__

J’ai essayé de désinstaller cx-freeze, avec pip on ne peut pas entièrement car cx-freeze est un “distutil package”, j’ai donc tout supprimé à la main, redémarré le système (on sait jamais), mais rien n’y fait ! Le programme auquel fait référence l’erreur n’existe même plus !!

Si quelqu’un comprend ce qu’il peut se passer ça m’arrangerai parce que ça fait moche dans ma console…

Merci d’avance.

Bonjour,

Bienvenue,

Comment avez-vous installé cx-freeze Ce programme n’existe pas dans les 50 000 paquets binaires de Debian ?

Le chemin du fichier qui pose problème commence par /usr/local/lib/python27 L’arborescence qui commence par /usr/local ne fait pas partie de Debian, elle est réservée pour l’administrateur.

Sans le savoir, vous avez été promu administrateur de votre système ! Félicitations ! :smile:

Le problème avec les logiciels tiers installés avec des outils tiers (ici pip) c’est qu’ils ne sont pas testés pour s’intégrer harmonieusement avec le reste du système (comme c’est le cas avec les 50 000 paquets binaires de Debian). Dans votre cas particulier, il faudrait comprendre pourquoi un programme python démarre à chaque exécution de apt-get en émettant un message d’erreur. [quote=“ledieud49, post:1, topic:75429”]
No module named test__init__
[/quote]
Il semblerait que les dépendances du paquet pip pour cx-freeze ne soient pas complètes ou qu’une séquence de test intégrée à l’installation soit encore active après l’installation. Pour y voir plus clair, il faudrait se plonger dans le code Python, en général assez lisible, mais comme il semblerait que vous avez enlevé ce code cela va être difficile.
Ce qui est en cause c’est la qualité de l’empaquetage parallèle (avec des outils python) d’un logiciel écrit en python.
Vous pouvez tenter de rechercher l’origine du message d’erreur qui persiste à coup de

ls -ltR /usr/local/lib | less
find /usr -name 'test__init__*'

Mais ce n’est pas gagné d’avance !

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة

F. Petitjean
Ingénieur civil du Génie Maritime.

« On ne perd pas son temps en aiguisant ses outils. »
Proverbe français

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

Merci de votre réponse, j’ai installé cx-freeze de deux manières différentes, à la fois avec pip et à la fois avec un “python setup.py build” puis “python setup.py install”. Il n’est pas dans les paquets binaires et c’est le seul en son genre à ma connaissance.

Quel différence entre Debian et l’administrateur ?
Merci pour les félicitations :wink:

J’ai retrouvé le programme en réinstallant cx-freeze avec pip :

#------------------------------------------------------------------------------

startup.py

This is the first script that is run when cx_Freeze starts up. It simply

determines the name of the initscript that is to be executed.

#------------------------------------------------------------------------------

import os
import sys

def run():
baseName = os.path.normcase(os.path.basename(sys.executable))
name, ext = os.path.splitext(baseName)
module = import(name + “init”)
module.run()

D’où vient le mot “test” ça je sais pas, quand j’affiche baseName ça me met juste “python”. J’ai créé un fichier test.py dans mes documents hier mais ça n’avait rien à voir…

Donc c’est normal que find /usr -name ‘test__init__*’ (à quoi sert l’étoile ?) ne fonctionne pas.

ls -ltR /usr/local/lib | less donne :

/usr/local/lib:
total 8
drwxrwsr-x 3 root staff 4096 déc. 22 14:49 python2.7
drwxrwsr-x 3 root staff 4096 déc. 21 09:31 python3.5

/usr/local/lib/python2.7:
total 4
drwxrwsr-x 2 root staff 4096 déc. 21 09:36 site-packages

/usr/local/lib/python2.7/site-packages:
total 0

/usr/local/lib/python3.5:
total 4
drwxrwsr-x 2 root staff 4096 déc. 22 10:53 dist-packages

/usr/local/lib/python3.5/dist-packages:
total 0

C’est aussi possible que mon installation de Debian soit un peu sale, j’ai upgradé la version 8 que j’avais installée sans y toucher il y a 6 mois… D’ailleurs sur mes 9 Go de partition système j’ai déjà 7.5 Go de pris, et /usr/share et /usr/lib me prennent respectivement 3 Go et 2.5 Go (si vous avez un truc pour gagner de la place sur ces dossiers d’ailleurs je prends).