VS Code 必须手动选择完整路径的 Python 解释器,右下角显示具体路径才算生效;终端与编辑器解释器需一致,可通过 python -c "import sys; print(sys.executable)" 验证;启用 python.terminal.activateEnvironment 并重启终端可自动激活虚拟环境;PYTHONPATH 需在 settings.json 中配置并重启终端;路径含中文、空格或括号会导致解释器不可用。

右下角没显示具体Python路径,说明解释器根本没接上电
VS Code 不会自动用 which python3 的结果,也不会继承你终端里激活的环境。它只认你手动选中的那个可执行文件路径。如果右下角只写 Python 3.x (global) 或干脆空白,▶️ 按钮点下去什么都不会发生——因为压根没启动 Python 进程。
必须按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入并执行 Python: Select Interpreter。只选带完整路径的条目:
-
/usr/bin/python3(macOS/Linux 系统自带) -
C:\Users\XXX\AppData\Local\Programs\Python\Python312\python.exe(Windows 全局安装) -
./venv/bin/python(Linux/macOS 虚拟环境) -
.venv\Scripts\python.exe(Windows 虚拟环境)
选完立刻看右下角:必须出现类似 Python 3.12.3 ('./venv') 或 Python 3.11.9 (/usr/bin/python3) 才算成功。否则就是没生效。
终端里能 pip install,但 VS Code 还是报 ModuleNotFoundError
这不是包没装,是你装到了另一个 Python 解释器里。VS Code 的 ▶️ 按钮只认右下角显示的那个解释器,和你在终端里运行 pip install 时实际用的解释器可能完全不同。
立即学习“Python免费学习笔记(深入)”;
验证一致性最直接的方式:
在 VS Code 内置终端(Ctrl+`)中运行:
python -c "import sys; print(sys.executable)"
再对比右下角显示的路径是否完全一致。不一致就手动选中终端里输出的那个路径;如果列表里没有,点 Enter interpreter path 粘贴进去。
关键动作:
SkillSub Pro - Python 题解与代码注释双功能技能功能概述SkillSub Pro - Python 题解与代码注释双功能技能是一项面向实际任务的技能,主要用于SkillSub Pro 是一个 Python 题解生成与代码注释的 双功能合体技能 ,专为学生、算法学习者和开发者设计;✅ 一个技能,两种用途 :;核心要点📝 题解模式 :输入题目/题号,自动生成完整 Python 题解(含详细注释、解题思路、复杂度分析);💬 注释模式 :输入 Python 代码,自动添加详细中。它将相关步骤、
- 删掉项目下的
.vscode/settings.json(避免硬编码错误路径) - 删掉
.vscode/workspaceStorage/整个文件夹(清除过期环境缓存) - 所有已打开的终端 tab 全部关闭,再新建一个——旧进程带着错误的
PATH缓存
虚拟环境路径正确,但终端新开后还是找不到模块
即使解释器选对了,VS Code 终端默认也不会自动 source 或 activate 虚拟环境。它只认 shell 自身的配置,不继承编辑器设置。
解决方式是启用自动激活:
- 在工作区的
.vscode/settings.json中添加:"python.terminal.activateEnvironment": true - 保存后,必须关闭所有已打开的终端 tab,再新建一个
- 注意:这个设置只影响新终端,不影响调试器(调试器走的是解释器路径,不走 shell 激活逻辑)
如果你用的是 conda 环境,还要确认终端里能直接运行 conda activate myenv;不能的话需先执行 conda init zsh(或 bash),然后 source ~/.zshrc。
PYTHONPATH 配置无效,跨目录 import 失败
比如项目结构是 src/utils.py,你在 main.py 里写 from src.utils import helper 却提示找不到 src,这不是包没装,是 Pylance 和运行时都看不到 src 所在目录。
不要在代码里写 sys.path.append('..'),脆弱且不可移植。正确做法是通过环境变量告诉 Python 去哪找:
- Linux/macOS:在
.vscode/settings.json中加:"terminal.integrated.env.linux": { "PYTHONPATH": "${workspaceFolder}${pathSeparator}${env:PYTHONPATH}" } - Windows:把上面的 key 换成
terminal.integrated.env.windows
改完必须关掉所有终端再新建——旧进程不会重新读取环境变量。
最常被忽略的一点:路径含中文、空格或括号(如 project(2024))会导致 VS Code 直接跳过扫描,根本不会把它当有效解释器路径处理。这不是 bug,是硬限制。

















