问题描述:
利用 VSCode 写代码,在项目里新建一个 Python 包或者模块,然后在其他文件里正常导入这个包或者模块时出现:
Import "xxxx" could not be resolved Pylance (reportMissingImports)
也就是说 Pylance 此时无法解析我们新建的包,也无法跳转到这个包的源码。但是我们是按标准正常 import 的。
原因分析:
本项目在打开项目文件夹时,会弹出以下警告:
Unable to watch for file changes in this large workspace folder. Please follow the instructions link to resolve this issue.
也就是说文件监控的实际数目已超出当前设置值。因此 Pylance 无法解析新建的包或者模块。
解决方案:
其他博客介绍了如下方法:
- 设置里搜索
Analysis: Extra Paths
,添加包路径^1^。 - 在
launch.json
文件中把根目录加入^2^:"env": {"PYTHONPATH":"${workspaceFolder}"},
。
这些方法过于繁冗,不一定能解决问题,笔者建议以下方法:
- 修改文件监控的最大数量,即参考 VSCode出现"Visual Studio Code is unable to watch for file changes in this large workspace"警告的解决方法 。(不推荐,需要修改系统设置。)
- 最简单方法是重新打开这个项目,会自动识别到之前新建的包或模块。