VSCode已安装Pylance仍提示‘module could not be resolved’问题排查
VSCode未关联正确的Python解释器
Pylance依赖VSCode选定的Python环境,即便你用pip install装了包,如果VSCode用的是另一个解释器(比如系统默认Python、虚拟环境外的解释器),就会找不到模块。可以按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)打开命令面板,输入Python: Select Interpreter,选择你执行pip install时对应的环境(比如虚拟环境的Python可执行文件)。虚拟环境未激活或配置异常
如果使用了虚拟环境,确保VSCode终端已激活对应环境,且Pylance识别到该环境。若虚拟环境路径被误改或创建时损坏,可尝试重新创建虚拟环境,重装依赖后再关联VSCode解释器。包安装路径不在Python的
sys.path中
部分场景下,pip安装的包路径未被加入Python的sys.path。可在Python终端执行import sys; print(sys.path)查看已识别路径,对比pip show <包名>输出的Location路径,确认是否在列表内。若不在,可在VSCode的.vscode/settings.json中添加"python.analysis.extraPaths": ["<包的安装路径>"]手动指定。Pylance缓存未更新
Pylance会缓存模块信息,包安装后缓存可能未同步。可按Ctrl+Shift+P打开命令面板,输入Python: Restart Language Server重启Pylance服务,或删除VSCode的Pylance缓存目录(一般在~/.vscode/extensions/ms-python.vscode-pylance-<版本号>/server下,删除后重启VSCode)。包名或导入路径拼写错误
检查导入语句拼写,部分包的导入名与pip安装名不一致(比如pip install python-dateutil,导入时用import dateutil),这类细节易被忽略,可通过包的官方文档确认正确导入方式。Python版本不兼容
部分包仅支持特定Python版本,若安装的包与VSCode使用的Python版本不匹配,Pylance也会报错。可用python --version和pip --version确认版本对应,或查看包的PyPI页面确认支持的Python版本范围。项目结构问题
若导入的是本地编写的模块,需确保模块所在目录被识别为Python包(目录下存在__init__.py文件),或在VSCode中将该目录标记为源代码根目录:右键目录选择"Add Folder to Workspace",或在settings.json中设置"python.analysis.rootPaths": ["<项目根目录>"]。
内容的提问来源于stack exchange,提问作者Kay Yu

