mypy 守护进程 (dmypy) 和 VSCode“配置已更改”错误

wol*_*eon 4 visual-studio-code mypy cookiecutter-django

我已经按照此处列出的步骤使用 Django Cookiecutter 创建了一个项目: https: //cookiecutter-django.readthedocs.io/en/latest/developing-locally.html

(从项目生成的角度来看,我正在使用尽可能普通的设置——除了 Windows 的“y”和 Whitenoise 的“y”之外,所有问题都使用“否”;没有云提供商,使用 GitHub 作为 CI 工具) 。

当我在 VSCode 中打开项目并正确设置 dmypy.exe 的路径(如我的虚拟环境文件夹中所示)时,我收到 VSCode 引发的以下错误:

Mypy settings changed: c:\Users\MYUSERNAME\Development\Navigator\nav
[3] Check workspace: c:\Users\MYUSERNAME\Development\Navigator\nav
[3] Received python path from Python extension: c:\Users\MYUSERNAME\Development\Navigator\.venv\Scripts\python.exe
[3] Running dmypy in folder c:\Users\MYUSERNAME\Development\Navigator\nav
'c:\Users\MYUSERNAME\Development\Navigator\nav\..\.venv\scripts\dmypy.exe' --status-file 'c:\Users\MYUSERNAME\AppData\Roaming\Code\User\workspaceStorage\0e535676e284b08a0f096efc595261d2\matangover.mypy\dmypy-25dcc9f6aa1070ea6d08209fdd5961c72b27b416.json' run --log-file 'c:\Users\MYUSERNAME\AppData\Roaming\Code\User\workspaceStorage\0e535676e284b08a0f096efc595261d2\matangover.mypy\dmypy-25dcc9f6aa1070ea6d08209fdd5961c72b27b416.log' -- . --show-column-numbers --no-error-summary --no-pretty --no-color-output --python-executable 'c:\Users\MYUSERNAME\Development\Navigator\.venv\Scripts\python.exe'
[3] stdout:
Daemon started
Restarting: configuration changed
Daemon stopped
Daemon started

[3] stderr:
Response: {'restart': 'configuration changed', 'platform': 'win32', 'python_version': '3_9', 'roundtrip_time': 0.5840277671813965}

[3] Error running mypy in c:\Users\MYUSERNAME\Development\Navigator\nav: mypy failed with error: "Response: {'restart': 'configuration changed', 'platform': 'win32', 'python_version': '3_9', 'roundtrip_time': 0.5840277671813965}
Run Code Online (Sandbox Code Playgroud)

这是我的 .vscode/settings.json 文件:

{
  "python.linting.mypyEnabled": true,
  "python.linting.enabled": true,
  "mypy.dmypyExecutable": "${workspaceFolder}\\..\\.venv\\scripts\\dmypy.exe"
}
Run Code Online (Sandbox Code Playgroud)

我不太确定如何进一步调试这个问题(“配置更改”没有显示相关的谷歌结果)。我所知道的是,这个扩展适用于我手动添加 mypy 的其他 VSCode 项目。

我不确定我到底应该向谁提出问题——VSCode 扩展、mypy,还是 Django Cookiecutter 人员,所以我认为 stackoverflow 可能会将人才聚集在一起。感谢您的帮助或指导!

wol*_*eon 6

这是一个已知的 mypy 问题

\n

解决方案(目前)是在以下位置添加未记录的配置指令setup.cfg

\n
ignore_missing_imports_per_module = True\n
Run Code Online (Sandbox Code Playgroud)\n

IE,

\n
\xe2\x80\xa6\n[mypy]\npython_version = 3.9\ncheck_untyped_defs = True\nignore_missing_imports = True\nignore_missing_imports_per_module = True\nwarn_unused_ignores = True\n\xe2\x80\xa6\n
Run Code Online (Sandbox Code Playgroud)\n