首页 > 解决方案 > mypy 守护进程 (dmypy) 和 VSCode “配置已更改”错误

问题描述

我按照此处列出的步骤使用 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}

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

{
  "python.linting.mypyEnabled": true,
  "python.linting.enabled": true,
  "mypy.dmypyExecutable": "${workspaceFolder}\\..\\.venv\\scripts\\dmypy.exe"
}

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

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

标签: visual-studio-codemypycookiecutter-django

解决方案


这是一个已知的 mypy 问题

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

ignore_missing_imports_per_module = True

IE,

…
[mypy]
python_version = 3.9
check_untyped_defs = True
ignore_missing_imports = True
ignore_missing_imports_per_module = True
warn_unused_ignores = True
…

推荐阅读