VSCode需安装Python扩展并显式选择解释器路径才能运行Python文件;推荐用右上角绿色按钮运行,确保解释器与pip环境一致,且配置为工作区级。

VSCode 本身不自带 Python 运行能力,必须显式配置解释器路径并安装必要扩展;没选对 python.defaultInterpreterPath 或没装 Python 扩展,Run Python File in Terminal 按钮根本不会出现。
确认已安装 Python 和 VSCode Python 扩展
VSCode 不是 IDE,它靠扩展提供语言支持。没有 Python 扩展(由 Microsoft 发布),连语法高亮、Ctrl+Space 补全、调试按钮都不会加载。
- 打开 VSCode 扩展视图(
Ctrl+Shift+X),搜索Python,安装官方扩展(ID:ms-python.python) - 终端执行
python --version或python3 --version确认系统已安装 Python;若报错,先装 Python(推荐从 python.org 下载,避免用系统包管理器装的阉割版) - Windows 用户注意:勾选安装时的
Add Python to PATH,否则 VSCode 找不到解释器
在 VSCode 中正确选择 Python 解释器
选错解释器会导致模块导入失败、pip install 装到别的环境、甚至运行时提示 ModuleNotFoundError —— 因为 VSCode 默认不读系统 PYTHONPATH 或 shell 的 which python 结果。
- 快捷键
Ctrl+Shift+P→ 输入Python: Select Interpreter→ 回车 - 从列表中选一个明确带路径的选项,例如:
./venv/bin/python(Linux/macOS)、.\venv\Scripts\python.exe(Windows 虚拟环境)、或全局路径如/usr/local/bin/python3.11 - 不要选
Enter interpreter path...手动输路径,除非你知道确切位置;更不要选Python 3.x (Global)这类模糊描述项(它可能指向系统 Python,而非你pip install过包的那个) - 选完后,VSCode 状态栏左下角会显示当前解释器路径,点击可再次切换
运行 Python 文件的三种可靠方式
别依赖右键菜单里“Run Code”(那是 Code Runner 插件的行为,和 Python 扩展无关,且默认用系统 python 命令,易出环境错)。
立即学习“Python免费学习笔记(深入)”;
-
方式一(推荐):打开
.py文件,点右上角绿色三角按钮Run Python File in Terminal—— 它会自动激活所选解释器,并在集成终端中执行python /path/to/file.py -
方式二(调试优先):按
F5启动调试;首次会提示生成.vscode/launch.json,选Python File模板即可;调试器严格使用你选的解释器,适合查变量、断点 -
方式三(命令行控制):在集成终端(
Ctrl+`)中手动运行:python main.py
或python3 main.py
—— 但前提是该终端已加载了你配置的解释器(通常开新终端即生效,若失效可执行source venv/bin/activate或进入虚拟环境目录)
常见失败现象与对应检查点
运行失败时,90% 的问题出在解释器链路上,而不是代码本身。
- 点击运行按钮无反应?→ 检查是否安装了
Python扩展,且当前文件后缀是.py(VSCode 根据文件类型决定是否启用 Python 功能) - 报错
ModuleNotFoundError: No module named 'requests'?→ 当前解释器没装这个包,别在系统 Python 里pip install,而要在 VSCode 右下角显示的解释器路径下运行pip install requests - 终端里能跑,VSCode 点运行却报
command not found: python?→ 说明 VSCode 没读到 shell 的 PATH,此时必须通过Python: Select Interpreter显式指定绝对路径,不能依赖环境变量 - 用 conda 环境但找不到?→ 先在终端激活环境:
conda activate myenv,再在 VSCode 里执行Python: Select Interpreter,它会自动列出已激活的 conda 环境
最常被忽略的一点:VSCode 的 Python 配置是工作区级的。换一个文件夹打开项目,哪怕路径相似,也得重新选一遍解释器——它不会跨文件夹继承设置。










