PyCharm 运行与调试
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)
适用于 multiprocessing 或 subprocess 场景
附加到进程:
运行 → 附加到本地进程(Attach to Local Process)
选择正在运行的 Python 进程
常见问题解决
Q1:断点不生效?
检查解释器是否匹配项目环境
确保代码已保存(Ctrl + S)
检查断点是否被禁用(断点图标为灰色)
Q2:如何调试单元测试?
在测试文件中右键 → 调试 '测试名'
或使用 pytest / unittest 专用运行配置
Q3:调试时变量显示 "Unknown"?
优化代码结构,避免过于复杂的表达式
使用 Watches 手动添加监视变量
调试快捷键
场景
操作
快速运行当前文件
Shift + F10
启动调试
Shift + F9
条件断点
右键断点 → 设置条件
查看变量值
调试时在 Variables 面板查看
临时执行代码
调试控制台输入命令
多进程调试
运行配置中勾选 Debug child processes