visual-studio-code - 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 可能会将这些人才聚集在一起。感谢您的任何帮助或指导!
解决方案
解决方案(目前)是在以下位置添加一个未记录的配置指令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
…
推荐阅读
- sql - 在 SQL SERVER 上创建具有多列的动态内部联接
- c# - XML :: WebAPI :: 多个项目
- regex - lsb.acct 日志中双引号字符串的正则表达式模式
- blockchain - Blockchain.info API 访问
- vb.net - 如何在 .net 中截取 bmp 屏幕截图,其中整个表单不完全适合屏幕?
- salesforce - Salesforce 字段值在网页上不可见
- python - 使用正斜杠作为分隔符将单元格拆分/分解为 2 行 pandas
- onesignal - OneSignal 被 uBlock / AdBlocker 阻止
- ubuntu - ubuntu中超过3个DNS服务器
- python - 解压可迭代对象时转换变量的最佳方法是什么?