PyCharm 运行与调试

PyCharm 提供了强大的运行和调试工具,帮助开发者高效执行和排查 Python 代码问题。本部分将详细介绍环境配置、脚本运行和调试技巧。

配置运行环境

设置 Python 解释器

打开解释器设置:设置 → 项目 → Python 解释器(Windows/Linux:Ctrl+Alt+S,Mac:⌘,)。

选择解释器:

  • 虚拟环境(推荐):Virtualenv / Conda / Pipenv

  • 系统解释器:直接使用已安装的 Python

  • 远程解释器:连接服务器或 Docker 环境

安装依赖包:

  • 在解释器界面点击 + 搜索并安装包(如 requests

  • 或通过终端运行 pip install package_name


配置运行参数

打开运行配置:

  • 顶部工具栏 → 运行 → 编辑配置(Run → Edit Configurations)

  • 或点击运行按钮旁边的配置下拉菜单

添加 Python 配置:点击 + → 选择 Python

关键参数:

  • 脚本路径:选择要执行的 .py 文件

  • 参数(Parameters):输入命令行参数(如 --port 8000

  • 工作目录:设置脚本运行时的当前目录

  • 环境变量:添加自定义环境变量(如 PYTHONPATH

保存配置:点击 应用 → 确定。


运行 Python 脚本

单文件运行

方法一:右键运行

  • 在编辑器中右键 → 运行 '文件名'(Run 'filename')

方法二:工具栏运行

  • 点击顶部工具栏的绿色运行按钮 ▶️

方法三:快捷键运行

  • Shift + F10(运行当前文件)

  • Ctrl + Shift + F10(运行当前编辑的文件)

模块运行(如 Flask/Django)

配置模块运行:在运行配置中选择模块名称而非脚本路径。

例如:

  • 模块名flask

  • 参数run --port=5000

运行带参数的模块:

# 例如运行 Django 开发服务器
python manage.py runserver 0.0.0.0:8000

在运行配置的 "参数" 栏输入:runserver 0.0.0.0:8000


调试代码

设置断点

添加断点

  • 在行号左侧单击(出现红色圆点)

  • 右键断点可设置条件(如 x > 10

断点类型

  • 行断点:暂停在指定行

  • 异常断点:在抛出异常时暂停(运行 → 查看断点 → 添加 Python 异常断点

启动调试

  • 点击工具栏的 🐞 调试 按钮

  • 或快捷键 Shift + F9

变量监视(Watches)

查看变量

  • 调试启动后,在 变量(Variables) 面板查看当前作用域的变量值

  • 双击变量可编辑值(用于临时测试)

添加监视

  • 监视(Watches) 面板点击 +

  • 输入变量名或表达式(如 len(items)

调试控制操作

操作快捷键(Win/Linux)快捷键(Mac)说明
步过(Step Over)F8F8执行当前行,不进入函数内部
步入(Step Into)F7F7进入函数内部调试
步出(Step Out)Shift + F8⇧ + F8执行完当前函数,返回到调用处
继续(Resume)F9⌘ + F8继续运行直到下一个断点
停止(Stop)Ctrl + F2⌘ + F2终止调试会话

调试控制台(Debug Console)

交互式调试

  • 在调试过程中,可在 调试控制台 直接执行 Python 代码

  • 例如:临时调用函数或修改变量

  • 评估表达式

    • 选中代码 → 右键 → 评估表达式(Evaluate Expression)

    • 或快捷键 Alt + F8


    高级调试技巧

    远程调试

    配置远程解释器

    • 文件 → 设置 → Python 解释器 → 添加远程解释器

    • 支持 SSH、Docker 和 Vagrant

    调试远程代码

    • 断点和调试操作与本地调试一致

    多进程调试

    子进程调试

    • 在运行配置中勾选 在子进程中调试(Debug child processes)

    • 适用于 multiprocessingsubprocess 场景

    附加到进程

    • 运行 → 附加到本地进程(Attach to Local Process)

    • 选择正在运行的 Python 进程


    常见问题解决

    Q1:断点不生效?

    • 检查解释器是否匹配项目环境

    • 确保代码已保存(Ctrl + S

    • 检查断点是否被禁用(断点图标为灰色)

    Q2:如何调试单元测试?

    • 在测试文件中右键 → 调试 '测试名'

    • 或使用 pytest / unittest 专用运行配置

    Q3:调试时变量显示 "Unknown"?

    • 优化代码结构,避免过于复杂的表达式

    • 使用 Watches 手动添加监视变量


    调试快捷键

    场景 操作
    快速运行当前文件 Shift + F10
    启动调试 Shift + F9
    条件断点 右键断点 → 设置条件
    查看变量值 调试时在 Variables 面板查看
    临时执行代码 调试控制台输入命令
    多进程调试 运行配置中勾选 Debug child processes