Вопрос

У нас возникла реальная проблема с людьми, которые проверяют код, который не работает, потому что что-то было переработано.По общему признанию, отчасти это связано с тем, что у наших разработчиков на самом деле нет хороших инструментов для легкого поиска подобных ошибок.

Существуют ли какие-либо инструменты, помогающие находить ошибки импорта в Python?Конечно, правильный ответ здесь - "вы должны использовать для этого свои модульные тесты". Но я нахожусь в стране устаревшего кода (по крайней мере, по определению Майкла Перса), поэтому наши модульные тесты - это то, над чем мы усиленно работаем.

В то же время было бы неплохо иметь какой-нибудь инструмент, который будет просматривать каждый каталог и импортировать в него каждый файл, просто чтобы найти любые скрипты, у которых есть ImportErrors (например, если файл или класс был недавно переименован).Я полагаю, что это не было бы ужасно трудно написать самому, но есть ли какие-либо программы, которые уже написаны для этого?

Это было полезно?

Решение

Pychecker - это для вас.Он импортирует модули и обнаружит эти ошибки.

http://pychecker.sourceforge.net/

О, и "pylint <modulename>" импортирует модуль, но я думаю, вам придется вызывать его один раз для каждого нужного модуля, где pychecker, по крайней мере, поддерживает *.py.(Pylint также поддерживает *.py, но не будет импортировать модули в этой ситуации).

Другие советы

Что-то вроде этого?

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

Этого достаточно, или вам нужно больше?

Обратите внимание, что любой модуль, в котором отсутствует if __name__ == "__main__": будет - очевидно - взлетать и начинать что-то делать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top