Question

Nous avons un réel problème avec les personnes qui enregistrent du code qui ne fonctionne pas car quelque chose a été refactorisé. Cela est en partie dû au fait que nos développeurs ne disposent pas vraiment de bons outils pour trouver facilement ce genre d’erreurs.

Existe-t-il des outils permettant de trouver ImportErrors dans Python? Bien sûr, la bonne réponse est & «Vous devriez utiliser vos tests unitaires pour cela. &»; Mais comme je suis dans le code hérité (du moins selon la définition de Michael Feathers), nos tests unitaires sont une chose sur laquelle nous travaillons énormément.

En attendant, il serait intéressant de disposer d'un outil permettant de parcourir chaque répertoire et d'y importer tous les fichiers, juste pour rechercher les scripts comportant ImportErrors (par exemple, si un fichier ou une classe a été renommé récemment) . Je suppose que ce ne serait pas terriblement difficile à écrire moi-même, mais y a-t-il des programmes déjà écrits pour le faire?

Était-ce utile?

La solution

Pychecker est fait pour vous. Il importe les modules et trouvera ces erreurs.

http://pychecker.sourceforge.net/

Oh, et " pylint < modulename > " importera le module, mais je suppose que vous devrez l’appeler une fois pour chaque module de votre choix, où pychecker prend au moins en charge * .py. (Pylint prend également en charge * .py mais n’importera pas les modules dans cette situation).

Autres conseils

Quelque chose comme ça?

import os
for x in os.listdir("some/path"):
    execfile( x )

Est-ce suffisant ou auriez-vous besoin de plus?

Notez que tout module qui manque de if __name__ == "__main__": va évidemment décoller et commencer à faire des choses.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top