使用Pylance无法生成Stub文件的问题及解决方案咨询
Pylance严格模式下无法生成Stub文件的解决办法
问题详情
- 启用Pylance的
strict模式后,工具会检测缺失的Stub文件,导入无对应Stub的模块时会触发错误提示 - 尝试通过Pylance的「快速修复」功能创建新Stub文件时,完全没有响应
- 已尝试重新安装Pylance、切换至预发布版本,问题仍未解决
- 禁用Pylance改用Pyright后可正常生成Stub,但Pylance功能更丰富,且两者无法共存(Pylance存在时Pyright会自动被禁用),不想频繁切换工具
可行方案
临时手动生成方案(适用于未更新到修复版本前)
如果不想切换到Pyright,可以用stubgen工具手动生成Stub文件:
- 先安装
mypy包(stubgen是其内置工具):pip install mypy - 针对单个模块生成Stub:
stubgen -o stubs 目标模块名 - 针对整个项目生成Stub:
stubgen -o stubs . - 生成后将Stub文件放在项目的
stubs目录下,还可以在VS Code设置里配置python.analysis.stubPath指向该目录,确保Pylance能识别
官方修复方案
根据问题补充说明,该问题已经在Pylance近期的代码更新中被修复,只需将Pylance更新到最新版本(稳定版或预发布版均可),就能恢复「快速修复生成Stub文件」的功能。
内容的提问来源于stack exchange,提问作者Big
相关产品推荐
相关产品推荐

