Как заставить .env предварительно коммитировать + mypy + django-stubs
Я стараюсь настроить start mypy + django-stubs cheking перед коммитом. Я использую для этого pre-commit. Когда я пытаюсь зафиксировать, у меня возникает ошибка django.core.exceptions.ImproperlyConfigured: Установите переменную окружения POSTGRES_DB. Эта переменная находится в файле .env, я экспортирую переменные из .env в Django config с помощью django-environ. И, конечно же, .env в .gitignore. Итак, насколько я понимаю: pre-commit запускается с собственным виртуальным окружением, и он не знает о моем файле .env.
Вообще, правильно ли я понимаю свою ситуацию? Если я прав, то как получить переменные из .env файла в pre-commit enviroment?
Мой .pre-commit-config.yaml (часть)
- repo: https://github.com/pre-commit/mirrors-mypy
rev: ''
hooks:
- id: mypy
exclude: "[a-zA-Z]*/(migrations)/(.)*"
args: [--config=setup.cfg,
--no-strict-optional,
--ignore-missing-imports]
additional_dependencies: [django-stubs, django-environ]
my setup.cfg
[mypy]
python_version = 3.9
allow_redefinition = True
check_untyped_defs = True
ignore_missing_imports = True
incremental = True
strict_optional = True
show_traceback = True
warn_no_return = False
warn_unused_ignores = True
warn_redundant_casts = True
warn_unused_configs = True
plugins = mypy_django_plugin.main
show_column_numbers = True
[mypy.plugins.django-stubs]
django_settings_module = config.settings.local
[mypy_django_plugin]
ignore_missing_model_attributes = True
[mypy-*.migrations.*]
# Django migrations should not produce any errors:
ignore_errors = True