python - 安装模块时,VSCode/pylint 将模块 win32event 报告为未解析的导入
问题描述
这是一个小烦恼,但是,pywin32 模块被 VSCode 中的 python linter 报告为未解析的导入。
我已经安装了 pywin32,并且可以在终端会话中以及脚本运行时导入模块。
我的 python.pythonPath 在我的 settings.json 中设置正确。
linter 似乎无法找到模块。
但是,如果我使用以下语法,linter 可以工作,但导入在运行时显然会失败。
import win32.lib.win32event
关于如何“制作” VSCode 或 linter 的任何想法与正确的导入相匹配?
解决方案
Pylint 有一个配置文件,由命令行开关加载配置文件--rcfile.
中的条目之一是ignored-modules=
. 注释行将此选项描述为“不应检查其成员属性的模块名称列表”。还有其他几个类似的选项。
这些选项是必需的,因为 pylint 是一个静态类型检查器,这意味着它不会加载模块,而只是检查其源代码。对于像 win32 集合这样的模块,它使用 pylint 无法检查的 .dll 文件。因此,pylint 无法弄清楚 win32 公开了哪些名称。因此,您能做的最好的事情就是告诉 pylint 禁止显示错误消息。
推荐阅读
- jenkins - 在 Jenkins 多分支项目中使用 msbuild
- java - 找不到 JRI 本机库。请确保 JRI 本机库位于 java.library.path 中列出的目录中
- ios - Swift - Firebase - 无密码验证电子邮件
- java - 使用java过滤xml
- java - CometD java客户端的水平缩放
- html - CSS 选择除每个表格的第一行之外的所有 HTML 元素
- python - Anaconda 可以与 Python 3.7 一起使用吗?
- java - 在 java 中使用 FileInputStream 时如何将 int 自动转换为 char
- laravel-5 - Laravel 5.6 由于存在不活动令牌,页面已过期
- docker - 使用私有 repo docker 镜像创建 cloudfoundry 任务