白骑士的PyCharm教学基础篇 1.3 调试与运行

系列目录

上一篇:

配置与调试环境

配置调试环境

选择解释器

  • 在 PyCharm 中选择正确的 Python 解释器:依次点击 "File" -> "Settings" -> "Project: [项目名]" -> "Project Interpreter",选择或添加解释器。

配置运行/调试配置

  • 依次点击 "Run" -> "Edit Configurations";
  • 点击左上角的 "+" 按钮,选择 "Python";
  • 输入配置名称,选择要运行的脚本文件;
  • 配置脚本参数、工作目录和环境变量(如果需要);
  • 点击"OK"保存配置。

虚拟环境配置

创建虚拟环境

  • 打开 PyCharm,创建新项目或打开现有项目;
  • 依次点击 "File" -> "Settings" -> "Project: [项目名]" -> "Python Interpreter";
  • 点击右侧齿轮图标,选择 "Add...",然后选择 "New environment using...",选择 "Virtualenv";
  • 选择虚拟环境的路径并点击 "OK"。

激活虚拟环境

  • 在终端(Terminal)中导航到项目目录,并运行 'source venv/bin/activate'(在 Windows 上运行 'venv\Scripts\activate')。
  • 在 PyCharm 中,确保选择虚拟环境作为项目解释器。

断点设置与调试流程

设置断点

在代码中设置断点

  • 在编辑器中,点击行号左侧的空白区域,添加断点。添加断点后,会出现一个红色圆点;
  • 可以在任意可执行行设置断点。

管理断点

  • 依次点击"Run" -> "View Breakpoints"。
  • 在弹出的窗口中,可以启用、禁用、删除断点,并设置断点的条件和日志消息。

调试流程

启动调试

  • 依次点击 "Run" -> "Debug" 或按 'Shift + F9' 启动调试;
  • 在调试模式下,程序会在断点处暂停,允许检查和修改变量值。

调试窗口

  • 调试窗口显示在编辑器底部,包含以下面板:
  • **Variables:**显示当前作用域内的所有变量及其值;
  • **Frames:**显示当前调用堆栈,可以在不同调用帧之间切换;
  • **Console:**允许在调试过程中执行 Python 表达式;
  • **Breakpoints:**显示所有断点,可以启用或禁用断点。

调试操作

  • **继续执行:**点击 "Resume Program" 按钮或按 'F9',程序将继续运行至下一个断点或结束;
  • **单步执行:**点击 "Step Over" 按钮或按 'F8',执行当前行,并跳到下一行;
  • **进入函数:**点击 "Step Into" 按钮或按 'F7',进入当前行调用的函数内部;
  • **跳出函数:**点击 "Step Out" 按钮或按 'Shift + F8',执行完当前函数并返回调用处;
  • **评估表达式:**点击 "Evaluate Expression" 按钮或按 'Alt + F8',输入表达式并查看其值。

运行与调试Python程序

运行Python程序

配置运行配置

  • 依次点击 "Run" -> "Edit Configurations",配置运行脚本、参数和环境;
  • 配置完成后,点击 "OK" 保存配置。

运行程序

  • 点击 "Run" 按钮或按 'Shift + F10' 运行程序;
  • 程序输出会显示在 "Run" 工具窗口中。

调试Python程序

启动调试

  • 依次点击 "Run" -> "Debug" 或按 ;Shift + F9' 启动调试;
  • 在调试模式下,程序会在断点处暂停,允许检查和修改变量值。

使用调试功能

  • 在调试模式下,可以使用断点、单步执行、进入函数、跳出函数等调试功能;
  • 可以在调试窗口中查看变量值、调用堆栈,并在控制台中执行表达式。

总结

通过学习和掌握这些调试与运行技巧,可以更有效地在 PyCharm 中开发和调试 Python 程序,快速定位和解决代码中的问题。

下一篇:

相关推荐
漫谈网络3 分钟前
Python 包管理工具 uv
开发语言·python·uv
纪伊路上盛名在16 分钟前
leetcode字符串篇【公共前缀】:14-最长公共前缀
python·算法·leetcode
秃头小白菜32 分钟前
Python之三大基本库——Matplotlib
开发语言·python·matplotlib
小胡说人工智能1 小时前
深度剖析:Dify+Sanic+Vue+ECharts 搭建 Text2SQL 项目 sanic-web 的 Debug 实战
人工智能·python·llm·text2sql·dify·vllm·ollama
SylviaW081 小时前
python-leetcode 68.有效的括号
python·算法·leetcode·职场和发展
熊猫钓鱼>_>2 小时前
对话即编程:如何用 Trae 的 @智能体 5 分钟修复一个复杂 Bug?
开发语言·python·bug
GondorFu2 小时前
vscode 常用调试
ide·vscode·编辑器
(・Д・)ノ3 小时前
python打卡day31
开发语言·人工智能·python
yorushika_3 小时前
python打卡训练营打卡记录day31
开发语言·python·机器学习
老歌老听老掉牙3 小时前
SymPy|主元、重新表示、分数、约分表达式、极限、级数、ode、获取值、输出形式
python·sympy·符号运算