Pergunta

Nós estamos tendo um problema real com as pessoas check-in de código que não funciona porque algo tem sido reformulado. Evidentemente, este é em parte porque nossos desenvolvedores realmente não tem nenhum boas ferramentas para encontrar esses tipos de erros facilmente.

Existem algumas ferramentas para ImportErrors ajudar a encontrar em Python? Claro, a resposta correta aqui é "você deve usar os testes de unidade para isso." Mas, eu estou em terra código legado (pelo menos por definição Michael das penas), para que os nossos testes de unidade são algo que estamos trabalhando fortemente.

Entretanto, seria bom ter algum tipo de ferramenta que irá percorrer cada diretório e importar cada arquivo dentro dele apenas para encontrar todos os scripts que têm ImportErrors (como por exemplo, se um arquivo ou classe foi rebatizado recentemente) . Suponho que isto não seria terrivelmente difícil escrever eu mesmo, mas existem programas que já estão escritas para fazer isso?

Foi útil?

Solução

pychecker é para você. Ele importa os módulos e vai encontrar esses erros.

http://pychecker.sourceforge.net/

Oh, e "pylint " irá importar o módulo, mas eu acho que você teria que chamá-lo uma vez para cada módulo que você quer, onde pychecker pelo menos apoios * .py. (Pylint também suportam py *, mas não vai importar os módulos nessa situação).

Outras dicas

Algo como isso?

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

Isso é o suficiente, ou você precisa de mais?

Note que qualquer módulo que carece if __name__ == "__main__": vai - obviamente -. Decolar e começar a fazer coisas

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top