Pregunta

Tenemos un problema real con las personas que ingresan el código que no funciona porque algo ha sido refactorizado. Es cierto que esto se debe en parte a que nuestros desarrolladores realmente no tienen buenas herramientas para encontrar este tipo de errores fácilmente.

¿Hay alguna herramienta para ayudar a encontrar ImportErrors en Python? Por supuesto, la respuesta correcta aquí es & "; Debe usar sus pruebas unitarias para eso. &"; Pero, estoy en tierra de código heredado (al menos según la definición de Michael Feathers), por lo que nuestras pruebas unitarias son algo en lo que estamos trabajando en gran medida.

Mientras tanto, sería bueno tener algún tipo de herramienta que recorra cada directorio e importe cada archivo dentro de él solo para encontrar cualquier script que tenga ImportErrors (como decir si un archivo o clase ha sido renombrado recientemente) . Supongo que esto no sería terriblemente difícil de escribir, pero ¿hay algún programa que ya esté escrito para hacer esto?

¿Fue útil?

Solución

Pychecker es para ti. Importa los módulos y encontrará estos errores.

http://pychecker.sourceforge.net/

Ah, y " pylint < modulename > " importará el módulo, pero supongo que tendría que llamarlo una vez para cada módulo que desee, donde pychecker al menos admite * .py. (Pylint también admite * .py pero no importará los módulos en esa situación).

Otros consejos

¿Algo como esto?

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

¿Es suficiente o necesitarías más?

Tenga en cuenta que cualquier módulo que carece de if __name__ == "__main__": obviamente, despegará y comenzará a hacer cosas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top