#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])