pylance必须与官方python插件共存才能生效,单独安装python插件补全弱、类型提示缺失;需同时安装二者,禁用pyright等冲突插件,正确配置python.defaultinterpreterpath为绝对路径并选择项目实际解释器。

Python插件没装对,Pylance 和 Python 必须共存
VSCode 默认只装 Python 插件时,补全很弱,常缺类型提示、跳转不准、import 提示不全。真正起作用的是 Pylance——它是微软专为 Python 设计的语义语言服务器,但必须和官方 Python 插件一起启用才能生效。
实操建议:
- 在扩展市场搜索并安装两个插件:
Python(由 Microsoft 发布,图标是蛇形)和Pylance(同发布者,图标是蓝底白“P”) - 禁用其他 Python 语言服务插件(如
Pyright单独启用时会与Pylance冲突) - 重启 VSCode 后,状态栏右下角应显示
Pylance(而非Jedi或None)
"python.defaultInterpreterPath" 配置错误导致补全完全失效
VSCode 不会自动识别你系统里哪个 Python 解释器该被用于代码分析。如果 defaultInterpreterPath 指向一个没装 pip 或没装项目依赖的环境(比如系统 Python、空虚拟环境),Pylance 就无法索引第三方包,requests.get()、pd.DataFrame() 这类调用就根本不出提示。
实操建议:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Python: Select Interpreter,选中你项目实际使用的解释器路径(通常是venv/bin/python或.venv\Scripts\python.exe) - 确认该环境中已运行
pip install -r requirements.txt,否则Pylance看不到包定义 - 检查设置 JSON:
"python.defaultInterpreterPath"值必须是绝对路径,不能是./venv/bin/python这种相对写法
补全不出现?检查 "editor.suggest.showMethods" 等底层开关
VSCode 的智能提示(IntelliSense)受多层配置控制。即使 Pylance 正常工作,某些补全项也可能被隐藏——比如方法名、属性、内置函数默认关闭了部分类别。
实操建议:
- 打开设置(
Ctrl+,),搜索editor.suggest,确保以下几项为true:"editor.suggest.showMethods"、"editor.suggest.showProperties"、"editor.suggest.showFunctions" - 若仍无响应,临时关闭所有非必要插件(尤其主题、格式化类),排除干扰
- 在 Python 文件中敲
str.后等待 1–2 秒——Pylance首次索引需加载类型存根,首次补全延迟属正常;后续应毫秒级响应
pyrightconfig.json 或 pyproject.toml 中的 extraPaths 能救「本地模块」补全
当项目结构含多个子包(如 src/utils/、src/models/),且未通过 pip install -e . 安装,VSCode 默认找不到这些模块的定义,from utils.helper import foo 中的 foo 就不会被补全。
实操建议:
- 在项目根目录加
pyrightconfig.json,写入:{"extraPaths": ["src"]} - 或在
pyproject.toml中添加:[tool.pyright]<br>extraPaths = ["src"]
- 注意路径是相对于配置文件所在目录的,不是
__file__;改完后需重载窗口(Ctrl+Shift+P→Developer: Reload Window)
Pylance 不是独立运行的,它必须通过 Python 插件接管解释器后才开始工作。Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











