Django и Mypy: не удается прочитать параметры конфигурации

#python #django #configuration #mypy

Вопрос:

Я пытаюсь использовать mypy с django, следуя приведенному здесь руководству: django-mypy-check-runs

Я не смог использовать init.py импорт в соответствии со статьей, вместо этого я использовал тот же код в готовой функции apps.py в моем приложении верхнего уровня.

mypy работает отлично, если функция api.run имеет базовый каталог проекта в списке в качестве параметра в соответствии с кодом в статье:

 results = api.run([settings.BASE_DIR])
 

Я не могу выяснить, почему базовый каталог проекта, представленный таким образом, имеет какое-либо значение. Согласно документам, список, который передается в api.run, должен содержать параметры конфигурации, переданные в списке, поскольку они будут переданы исполняемому файлу в командной строке. Я проверил исходный код mypy, и, похоже, это так.

Если я изменю код так, чтобы api.run имел список в качестве параметра, который содержит параметры конфигурации, mypy не будет работать. Если я передаю пустой список или вообще никакого списка, mypy не работает.

Кроме того, хотя у меня есть файл mypy.ini в том же каталоге, а также в корне проекта (в случае, если это то, что настройки.Предполагается указать BASE_DIR в списке, переданном в api.run), параметры конфигурации в mypy.ini, похоже, не подбираются.

Итак, как заставить api.run функционировать и использовать параметры конфигурации из mypy.ini…

MTIA.

Ответ №1:

Хорошо, это оказалось совершенно очевидным, документированным и т. Д. И т. Д. Команда api.run принимает те же аргументы, что и вызов командной строки mypy. Итак, для меня сработало следующее…

 results = api.run(['--show-error-codes', settings.BASE_DIR])