Проблема при использовании mypy с моим проектом django

Я внедрил mypy в свою структуру отдыха django, но получаю ошибки ModuleNotFoundError: No module named 'config' при запуске mypy. Что-то не так с моим django_settings_module в моем файле mypy.ini?

Раньше я запускал свой проект с помощью команды python manage.py runserver --settings=config.settings.development, которая работала нормально, но при настройке этого параметра в mypy выдает ошибку. Что я могу делать неправильно?

Любая помощь будет оценена по достоинству.

mypy.ini

[mypy]

plugins =
    mypy_django_plugin.main,
    mypy_drf_plugin.main

ignore_missing_imports = True
warn_unused_ignores = True
strict_optional = True
check_untyped_defs = True
follow_imports = silent
show_column_numbers = True

[mypy.plugins.django-stubs]

export PYTHONPATH=$PYTHONPATH:D:\DjangoProjects\project\config

django_settings_module = config.settings.development

каталог настроек

/project
 /config
  __init__.py
  urls.py
  wsgi.py
  /settings
    __init__.py
    base.py
    development.py

wsgi.py

app_path = os.path.abspath(
        os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir)
        )
sys.path.append(os.path.join(app_path, "project"))

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')

application = get_wsgi_application()

person D_P    schedule 05.12.2019    source источник
comment
Похоже на проблему с PYTHONPATH, не могли бы вы добавить к ней свой config и проверить, сохраняется ли проблема   -  person Sardorbek Imomaliev    schedule 05.12.2019
comment
Как я могу добавить свой конфиг в PYTHONPATH @SardorbekImomaliev   -  person D_P    schedule 05.12.2019
comment
export PYTHONPATH=$PYTHONPATH:/path/to/your/config, поиск в поиске дополнительной информации   -  person Sardorbek Imomaliev    schedule 05.12.2019
comment
@SardorbekImomaliev, куда мне добавить этот PYTHONPATH? Я добавил его в свой mypy.ini. Добавлено в мой вопрос.   -  person D_P    schedule 05.12.2019
comment
Нет, это должно быть установлено в вашей оболочке env   -  person Sardorbek Imomaliev    schedule 05.12.2019


Ответы (1)


Если кто-то столкнется с этим и будет так же сбит с толку, как и я, вот что я сделал, чтобы убедиться, что плагин mypy django работает.

Мне действительно пришлось добавить корень моего проекта в PYTHONPATYH, чтобы плагин смог найти ваш проект. Но позвольте мне уточнить. В Windows вы можете выполнить поиск «переменных среды» и создать там переменную среды с именем PYTHONPATH или отредактировать уже существующую, добавив путь.

Я пару часов бился головой о стены, потому что не знал, как правильно установить PYTHONPATH. Когда вы добавляете эту переменную, убедитесь, что это полный путь, и что папка, которую вы указываете, является папкой, которая включает в себя manage.py. Для меня это была C:\Users\...\myproject (без завершающей косой черты ).

Я надеюсь, что это сработает, и я смогу спасти кого-то от потери часов жизни, как это сделал я.

person Hendrik    schedule 26.11.2020