Django и Mypy: невозможно прочитать параметры конфигурации
Я пытаюсь использовать mypy с django, следуя руководству здесь: django-mypy-check-runs
Мне не удалось использовать импорт init.py согласно статье, вместо этого я использовал тот же код в функции ready в apps.py в моем приложении верхнего уровня.
mypy работает отлично, пока функция api.run имеет базовый каталог проекта в списке в качестве параметра, как показано в статье:
results = api.run([settings.BASE_DIR])
Я не могу понять, почему каталог базы проекта, представленный таким образом, может быть полезен. Согласно документации, список, передаваемый в api.run, должен содержать параметры конфигурации, передаваемые в списке, как они будут передаваться исполняемому модулю в командной строке. Я проверил исходный код mypy и, похоже, так оно и есть.
Если я изменяю код таким образом, что api.run имеет в качестве параметра список, содержащий параметры конфигурации, mypy не работает. Если я передаю пустой список или вообще без списка, mypy не работает.
Кроме того, хотя у меня есть файл mypy.ini в том же каталоге, а также в корне проекта (в случае, если это то, что должно быть указано в settings.BASE_DIR в списке, передаваемом api.run), параметры конфигурации в mypy.ini, похоже, не подхватываются.
Итак, как заставить api.run работать и использовать параметры конфигурации из mypy.ini...
MTIA.
Ок, оказалось, что это вполне очевидно, задокументировано и т.д. и т.п. Команда api.run принимает те же args, что и вызов командной строки mypy. Так что у меня сработало следующее...
results = api.run(['--show-error-codes', settings.BASE_DIR])