vs code 需手动指定 python3 路径:通过 python: select interpreter → enter path... 粘贴 which python3 结果;调试前用 python -m pip install [--user] debugpy 安装;launch.json 中 python 字段须填绝对路径且与所选解释器一致。

怎么让 VS Code 识别系统里的 python3
VS Code 默认不自动绑定 python3,它只认环境变量里叫 python 的可执行文件。如果你的系统里只有 python3(比如 macOS 或某些 Linux 发行版),直接按 Ctrl+Shift+P 调出命令面板,输 Python: Select Interpreter,很可能看不到 python3 路径。
实操建议:
立即学习“Python免费学习笔记(深入)”;
- 先在终端运行
which python3,记下完整路径,例如/usr/bin/python3或/opt/homebrew/bin/python3 - 在 VS Code 里按
Ctrl+Shift+P→ 输入Python: Select Interpreter→ 选Enter path...→ 粘贴刚才的路径 - 如果路径含空格或特殊字符(如
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/...),别手输,用终端复制粘贴最稳 - 选完后右下角状态栏会显示当前解释器,鼠标悬停能看到完整路径,确认无误再写代码
为什么按 F5 调试报错 ModuleNotFoundError: No module named 'debugpy'
这不是你没装 debugpy,而是 VS Code 的 Python 扩展默认用 debugpy 做调试器,但它不会自动装进你选的 python3 环境里——尤其当你用的是系统自带的 python3,权限受限,pip install debugpy 往往失败或装到错的地方。
实操建议:
立即学习“Python免费学习笔记(深入)”;
- 打开集成终端(
Ctrl+`),确保它激活的是你刚选的python3解释器(看提示符前的括号或运行which python) - 执行
python -m pip install debugpy,强制用当前解释器安装 - 如果报
Permission denied,别加sudo,改用python -m pip install --user debugpy - 装完重启 VS Code,再按
F5就能进断点
launch.json 里 python 路径写绝对路径还是 python?
写绝对路径。VS Code 的调试器启动时不会读你的 shell 配置(比如 ~/.zshrc),所以即使你在终端里 python 指向 python3,launch.json 里写 "python" 仍可能调用系统旧版 python2.7 或根本找不到。
实操建议:
立即学习“Python免费学习笔记(深入)”;
- 在
.vscode/launch.json的配置项里,明确写"python": "/usr/bin/python3"这类绝对路径 - 路径必须和你在
Python: Select Interpreter里选的一致,否则调试和运行用的不是同一个环境 - 如果项目用了
venv,路径通常是./venv/bin/python(Linux/macOS)或.\venv\Scripts\python.exe(Windows) - 别依赖
python.defaultInterpreterPath全局设置来覆盖launch.json,它只影响部分场景,不保调试
终端里 python 和 VS Code 右下角显示的不一致怎么办
常见于用了 pyenv、conda 或手动改了 $PATH 的用户。VS Code 启动时继承的是父进程环境,而图形界面启动的 VS Code(比如从 Dock 或桌面图标点开)往往没加载 shell 初始化文件,导致 python 命令不可用或指向错误版本。
实操建议:
立即学习“Python免费学习笔记(深入)”;
- 别从图标启动 VS Code,改用终端命令:macOS 上
code .,Linux 上同样;Windows 建议用code .从已激活 conda 环境的 PowerShell 启动 - 检查 VS Code 终端的
$SHELL和$PATH:新建终端后输echo $PATH,对比你日常终端输出,缺关键路径就说明环境没继承到位 - 临时补救:在 VS Code 终端里手动 source 配置文件,比如
source ~/.zshrc,再重选解释器 - 长期解法:macOS 用户可在
~/.zprofile里设export PATH,确保 GUI 应用也能读到
最常被忽略的一点:VS Code 的「选择解释器」操作只影响当前工作区,换个项目要重新选;而且一旦 launch.json 里硬编码了路径,它就完全不听解释器选择的结果——这两处不一致,bug 就藏得特别深。











