VSCode/pylint 在安装模块时将模块 win32event 报告为未解析的导入

jaw*_*ing 1 python lint pylint visual-studio-code vscode-settings

这是一个小烦恼,但是 pywin32 模块被 VSCode 中的 python linter 报告为未解析的导入。

我已经安装了 pywin32,并且可以在终端会话中以及脚本运行时导入模块。

我的 python.pythonPath 在我的 settings.json 中设置正确。

linter 似乎无法找到模块。

但是,如果我使用以下语法,linter 可以工作,但在运行时导入显然会失败。

import win32.lib.win32event
Run Code Online (Sandbox Code Playgroud)

关于如何“制作”VSCode 或 linter 匹配正确导入的任何想法?

Pau*_*ius 5

Pylint 有一个配置文件,由命令行开关加载,配置文件--rcfile. 中的条目之一是ignored-modules=. 注释行将此选项描述为“不应检查其成员属性的模块名称列表”。还有其他几个类似的选项。

需要这些选项是因为 pylint 是一个静态类型检查器,这意味着它不会加载模块而只是检查其源代码。对于像 win32 集合这样的模块,它使用 pylint 无法检查的 .dll 文件。因此,pylint 无法弄清楚 win32 公开了哪些名称。所以你能做的最好的事情就是告诉 pylint 抑制错误消息。