有没有能检测Python包中不存在对象调用的Vim插件?
以下几个插件可以满足你检测Python第三方库中不存在对象的需求,实现类似VS Code的静态检查能力:
Pyright + coc-pyright
Pyright是微软开发的静态类型检查工具,和VS Code内置的Python检查引擎同源,能精准识别第三方库中不存在的函数、成员。在Vim中需先安装coc.nvim补全框架,之后在Vim中执行:CocInstall coc-pyright完成安装。它会自动识别当前Python环境的依赖,实时在编辑时提示np.aa_bb_cc()这类无效调用的错误,同时提供代码补全、类型提示功能。mypy + vim-mypy
mypy是主流的Python静态类型检查器,支持检测第三方库的无效成员调用。先通过pip install mypy安装mypy本体,再安装vim-mypy插件。可以手动执行:Mypy命令触发检查,也能配置成保存文件时自动运行。它不仅能检测这类无效调用,还能校验类型注解的正确性,适合注重类型规范的项目。Pylance + coc-pylance
Pylance同样来自微软,功能比Pyright更全面,智能感知精度更高。同样依赖coc.nvim框架,安装命令为:CocInstall coc-pylance。它对第三方库的成员解析更细致,还支持快速修复、代码重构等进阶功能,体验和VS Code的Python工具链高度一致。
注意事项
使用这些插件前,确保当前Python环境已正确安装项目依赖(比如通过虚拟环境安装numpy),这样工具才能准确读取库的结构信息,避免误报或漏报。
内容的提问来源于stack exchange,提问作者alpastor

