PyCharm和VS Code中怎么运行与调试Python代码

雨后青山
雨后青山
发布时间:2026-11-04 | 2人浏览过
原创

详细介绍在PyCharm与VS Code中配置Python解释器、运行脚本以及利用断点、单步跟踪(步过/步入)与变量监视进行深入调试的操作步骤与排错技巧。

PyCharm和VS Code中怎么运行与调试Python代码
缩略概览:PyCharm 与 Visual Studio Code 的 Python 运行与调试生态

在 PyCharm 与 Visual Studio Code 中运行和调试 Python 代码,其背后的本质逻辑完全一致:首先将项目绑定到正确的 Python 解释器,然后指定执行脚本的入口与工作目录,最后根据排查需要选择“普通运行模式”或“挂载调试器模式”。初学者常遇到的报错与断点未命中,绝大部分源于解释器环境未对齐或调试上下文偏差。本文将完整梳理两款编辑器的操作路径、单步调试技巧与关键配置。

一、前置基石:正确绑定 Python 解释器

无论点击哪一个编辑器的绿色运行按钮,背后都是由系统拉起一个 Python 二进制进程去解析执行代码。如果编辑器没有绑定正确的解释器,或者错误地指向了全局未安装依赖的 Python,就会立即抛出 ModuleNotFoundError。因此,明确解释器是所有操作的前提。

1. PyCharm 的解释器设置

PyCharm 作为针对 Python 开发的开箱即用型 IDE,在创建项目时通常会自动生成名为 venv 的虚拟环境。若要手动确认或更改解释器:

  • Windows / Linux 下依次打开菜单:File > Settings(macOS 下为 PyCharm > Settings...)。
  • 在左侧树状菜单中定位到 Project: [项目名称] > Python Interpreter。
  • 点击右上角 Add Interpreter 齿轮按钮,可选择现有虚拟环境(Existing Virtualenv)、新建环境(New Environment)或指定 Conda、Poetry、系统路径。
  • 保存后,PyCharm 会自动建立项目符号索引,右下角状态栏也会常驻显示当前生效的环境标识。

2. VS Code 的解释器选择

VS Code 是一个轻量级代码编辑器,需确保已在左侧 Extensions(快捷键 Ctrl+Shift+X / Cmd+Shift+X)中安装了官方的 Python 扩展(由 Microsoft 维护)。安装完成后选择解释器:

  • 按下快捷键 Ctrl+Shift+P(macOS 为 Cmd+Shift+P)调出全局命令面板。
  • 输入并选择 Python: Select Interpreter。
  • VS Code 会自动扫描本地 .venv、Conda 环境及全局路径,点击选中即可。此时编辑器右下角状态栏会显示如 Python 3.11.x ('.venv': venv)。
PyCharm和VS Code中怎么运行与调试Python代码
图 1:Python 解释器配置与执行准备全流程

二、PyCharm 中的运行与调试实操

PyCharm 为日常开发提供了高度集成化的图形界面,运行与调试功能深度嵌入在代码编辑器槽位、右键菜单以及顶部工具栏中。

1. 运行 Python 脚本的途径

在 PyCharm 中运行当前代码文件,主要有以下三种方式:

  • 右键直达: 在打开的代码编辑区任意空白处右键,选择 Run '文件名'(例如 Run 'main'),底部会立即弹出 Run 输出窗口。
  • 顶部工具栏: 右键运行一次后,顶部工具栏的下拉菜单会自动锁定该文件为当前运行目标。之后直接点击绿色的“三角形播放按钮”即可。
  • 快捷键组合: Windows / Linux 下直接按下 Shift+F10,macOS 下按下 Control+R。

2. 设置断点(Breakpoints)

调试的核心在于让程序在指定位置“暂停”,以便检查此时内存中的变量值。在 PyCharm 中设置断点非常简单:

  • 鼠标移动到目标代码行的行号右侧空白槽(Gutter),单击一下左键,会出现一个红色实心圆点,该行代码背景也会轻微变红,表示断点已就绪。
  • 条件断点: 右键点击该红点,可以在弹出的气泡框中输入 Python 表达式,如 user_id == 1002 或 total_amount > 500。程序只有在该条件求值为 True 时才会暂停,极大避免了在长循环中多次手动按单步。

3. 启动调试与控制面板

按下快捷键 Shift+F9(macOS 为 Control+D),或点击顶部工具栏绿色的小虫子图标(Debug 图标),程序即以调试模式启动。一旦执行流达到断点行,PyCharm 底部会自动弹出 Debug 工具窗口:

  • Frames(帧堆栈): 显示当前的调用层级。最顶层是当前停靠的函数帧,点击下方各帧可以追溯该函数是从哪一行被调用的。
  • Variables(变量面板): 自动列出当前作用域内所有局部变量、函数参数与全局变量。可以展开查看列表、字典内部元素的详细属性。
  • 单步操作快捷键:
    • F8(Step Over / 步过):执行当前行代码并停在下一行;遇到函数调用时不进入其内部。
    • F7(Step Into / 步入):若当前行存在自定义函数调用,直接钻入该函数体首行。
    • Shift+F8(Step Out / 步出):在子函数内部单步调试完毕后,一口气执行完剩余语句并返回调用点上一层。
    • F9(Resume Program / 恢复执行):释放当前暂停,继续全速运行,直至遇到下一个断点或脚本结束。
  • Evaluate Expression(计算表达式): 在调试暂停状态下按下 Alt+F8(macOS 为 Option+F8),会弹出一个即时求值窗口。可以在其中输入任意合法的 Python 表达式、方法调用甚至临时修改对象变量,点击 Evaluate 即可即时看到结果。

三、VS Code 中的运行与调试实操

与 PyCharm 的高度一体化不同,VS Code 采用插件驱动架构。它的运行与调试体验同样强大,但在配置灵活性与轻量化方面更具特色。

1. 快速运行 Python 脚本

安装了 Python 扩展后,打开任意 .py 文件:

  • 顶部右上角运行按钮: 编辑器右上角会常驻一个带播放箭头的按钮,点击它即可选择 Run Python File。VS Code 会自动激活当前绑定的虚拟环境终端,并在底部集成 Terminal 中键入完整命令执行。
  • 终端交互运行: 选中部分代码后按下 Shift+Enter,即可将选中的代码片段直接发送到右侧 Python 交互式 REPL 窗口执行,非常适合临时数据验证。

2. 启动调试与调试控制条

VS Code 提供了更直观的按键体系:

  • 设置断点: 同样将光标移到代码行号左侧,点击出现的暗红色圆点,使之变为明亮的高亮红点。右键该红点同样可选择“编辑断点”以配置表达式条件或命中次数。
  • 开启调试: 直接按下 F5。如果是首次对该文件调试,VS Code 会在顶部弹出预设菜单,直接选择 Python Debugger: Python File (Debug the currently active Python file) 即可。
  • 调试悬浮工具栏: 命中断点后,页面顶部中央会出现一个可拖拽的控制悬浮条:
    • F5(Continue):继续执行至下一断点。
    • F10(Step Over):单步步过。
    • F11(Step Into):单步步入。
    • Shift+F11(Step Out):单步步出。
    • Ctrl+Shift+F5(Restart):重启当前调试会话。
    • Shift+F5(Stop):终止调试会话。
  • 侧边栏调试视图: 点击左侧活动栏的“播放+虫子”图标(Ctrl+Shift+D / Cmd+Shift+D),可展开 Variables(变量查看)、Watch(添加自定义监控表达式)、Call Stack(调用堆栈)以及 Breakpoints 面板。
  • Debug Console(调试控制台): 底部面板切换至 Debug Console,在暂停状态下可以直接在下方输入框中键入 Python 语句回车,即可调用当前堆栈上下文中的变量,进行动态探查。
PyCharm和VS Code中怎么运行与调试Python代码
图 2:单步步过(Step Over)与单步步入(Step Into)运行流转机制

3. launch.json:高级运行与参数传递

当脚本需要传入命令行参数(例如 python main.py --mode=eval --batch-size=32)、修改特定环境变量或指定特殊工作目录时,VS Code 推荐使用 .vscode/launch.json 声明配置:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: 运行并传递参数",
      "type": "debugpy",
      "request": "launch",
      "program": "${workspaceFolder}/main.py",
      "console": "integratedTerminal",
      "args": ["--mode", "eval", "--batch-size", "32"],
      "env": {"DEBUG_LEVEL": "VERBOSE"},
      "cwd": "${workspaceFolder}"
    }
  ]
}

配置完成后,在左侧“运行与调试”面板顶部的下拉框中选中“Python: 运行并传递参数”,按 F5 即可完全按照预定参数与环境变量启动。而在 PyCharm 中,对应的操作是在顶部配置下拉框点击 Edit Configurations...,在可视化面板中的 Parameters 和 Environment variables 输入对应内容。

四、核心调试技巧与底层机制

无论是 PyCharm 还是 VS Code,在代码调试时都有几个高频关键概念需要清晰辨析。

PyCharm和VS Code中怎么运行与调试Python代码
图 3:IDE 客户端与 Python 调试内核交互架构

1. 步过(Step Over)与步入(Step Into)的选择依据

读者常问的一个问题是:“单步调试时,我到底该按 Step Over 还是 Step Into?”

答案取决于你对当前行函数的信任程度:

  • 如果你调用的函数是 Python 内置函数(如 json.loads()、math.sqrt())或经过充分测试的工具方法,你应该毫不犹豫地选择 Step Over(PyCharm 为 F8,VS Code 为 F10)。让解释器一口气跑完函数内部逻辑,直接在下一行读取它的返回值。
  • 如果你怀疑 bug 就发生在当前函数内部,或者这是你刚写完的核心业务逻辑,这时应该选择 Step Into(PyCharm 为 F7,VS Code 为 F11),单步追踪参数传进去之后的每一处分支变化。
  • 如果不小心按了 Step Into 钻入了系统模块(如 threading.py 或 socket.py),不要慌张,按 Step Out(Shift+F8 / Shift+F11)即可快速返回业务代码。

2. Watch(监视)与 Console(控制台)的实际妙用

在调试大型对象时,Variables 面板里的属性可能多达数百个,寻找特定字段非常费力。此时可将目标字段(例如 order.buyer.profile.vip_level)复制并添加到 Watch 面板中。每当你单步执行时,Watch 会持续自动重新计算该表达式的值并直接置顶呈现。

五、常见问题排查与避坑指南

排查要点 1:打在代码上的断点变灰或没有生效

通常由三种原因导致:一是该行代码所在的分支逻辑根本未被触发(如 if 条件为 False);二是代码以纯多进程(multiprocessing)派生子进程,而调试器未勾选“Attach to Subprocess”(附加到子进程);三是当前运行的文件实际是虚拟环境或安装包里的代码拷贝,与编辑器当前打开的文件物理路径不一致。

排查要点 2:终端可以运行,点击 IDE 调试却报错 ModuleNotFoundError

PyCharm 默认会自动将项目根目录(Project Root)与当前脚本所在目录添加到 sys.path 中,而 VS Code 在终端启动时默认以当前打开的文件夹作为工作目录(cwd)。如果项目内有跨目录的包导入(如 from src.utils import helper),在 VS Code 的 launch.json 中应显式指定 "cwd": "${workspaceFolder}",或在 settings.json 中配置 python.analysis.extraPaths。

六、双工具操作映射全景对照

为了方便在两款主流工具间灵活切换,下表与图示总结了最核心的操作映射关系:

功能动作 PyCharm 快捷键 / 路径 VS Code 快捷键 / 路径
选择/绑定解释器 Settings > Project > Python Interpreter Cmd/Ctrl+Shift+P > Select Interpreter
快速运行文件 Shift+F10 / 右键 Run 右上角播放图标 / Ctrl+F5
启动调试会话 Shift+F9 / 点击虫子图标 F5 / 运行与调试面板
单步步过 (Step Over) F8 F10
单步步入 (Step Into) F7 F11
单步步出 (Step Out) Shift+F8 Shift+F11
继续执行至下一断点 F9 (Resume) F5 (Continue)
求值与交互控制台 Alt+F8 (Evaluate Expression) Debug Console (调试控制台面板)
高级参数与环境配置 Run > Edit Configurations... .vscode/launch.json 声明定义
PyCharm和VS Code中怎么运行与调试Python代码
图 4:PyCharm 与 VS Code 运行调试核心操作全景对照图

掌握了上述逻辑,无论是使用综合全能的 PyCharm 还是轻快灵活的 Visual Studio Code,面对复杂的 Python 代码执行流与意外异常时,都能迅速理清依赖链路、准确定位断点,并借助调用栈与变量监视将隐蔽缺陷逐一排查化解。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表