我已经在django rest框架中实现了mypy,但是在运行mypy时遇到错误ModuleNotFoundError: No module named 'config'
。mypy.ini文件中的django_settings_module
有问题吗?
我曾经使用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()
答案 0 :(得分:0)
如果有人碰巧碰到了这个问题,并且和我一样困惑,这就是我要做的,以确保mypy django插件能够正常工作。
我确实必须将项目根目录添加到PYTHONPATYH,这样插件才能找到您的项目。但是,让我澄清一下。在Windows中,您可以搜索“环境变量”并在其中创建一个名为PYTHONPATH的环境变量,或使用添加的路径编辑已经存在的环境变量。
我一直将头撞在墙上几个小时,因为我不知道如何正确设置PYTHONPATH。添加此变量时,请确保它是完整路径,并且您指定的文件夹是包含manage.py的文件夹。 对我来说,那是C:\ Users \ ... \ myproject(不带斜杠)。
我希望这种方法能奏效,并希望我能像别人一样,避免浪费别人的一生。