在 MacBook 上用 PyCharm 调试 Python 程序实则超级方便,它内置了强劲的 Debug 工具。下面给你分步骤讲一下:
1. 启动调试器
- 打开 PyCharm,加载你的 Python 项目。
- 找到你要调试的 Python 文件,列如 main.py。
- 在编辑器左侧 行号栏 上点击,就能打一个 断点(红色圆点)。
- 程序运行到这一行时会暂停,进入调试模式。
- 在工具栏点击右上角的 虫子图标 (Debug),而不是绿色三角形的 Run。
- Run 是直接运行,Debug 是进入调试模式。
2. 调试界面说明
当程序运行到断点时,PyCharm 会切换到调试窗口,主要区域:
- Debugger 面板:显示当前栈、变量、线程信息。
- Console:交互式 Python 控制台,你可以在暂停时输入命令。
- Variables:实时查看变量的值。
3. 常用调试操作
在 Debug 工具栏(窗口上方或底部)你会看到几个按钮:
- ▶️ Resume Program (F9):继续运行,直到下一个断点。
- ⏩ Step Over (F8):执行当前行,不进入函数内部。
- ⬇️ Step Into (F7):进入函数内部调试。
- ⬆️ Step Out (Shift+F8):跳出当前函数,回到调用点。
- ⏸ Pause:随时暂停正在运行的程序。
- ⛔ Stop:结束调试。
4. 进阶技巧
- 条件断点:右键断点,可以设置条件,列如 x > 10,只有满足时才会停。
- 日志断点:不用停程序,只打印变量值,像调试日志一样。
- Evaluate Expression (Alt+F8):在暂停时手动执行代码片段,方便查看值。
- Debug 配置:点击右上角的 Edit Configurations 可以设置程序参数、环境变量。
5. MacBook 快捷键(默认 Keymap)
- 添加/撤销断点:Command + F8
- Step Over:F8
- Step Into:F7
- Step Out:Shift + F8
- Resume:Command + Option + R
- 停止:Command + F2
requirements.txt 没有安装依赖怎么办?
如果你项目里有 requirements.txt,但依赖没装,推荐这样做:
最佳实践
- 确认使用虚拟环境(避免污染系统 Python)
- python3 -m venv .venv
- 这里 .venv 就是虚拟环境目录(推荐放在项目根目录)。
- 激活虚拟环境
- # Mac/Linux source .venv/bin/activate
- 激活后命令行前面会有 (.venv) 提示。
- 安装依赖
- pip install -r requirements.txt
- 锁定依赖(可选,方便部署/生产环境)
- pip freeze > requirements.txt
- 这样保证别人用 pip install -r requirements.txt 得到一样依赖。
2..venv目录有用吗?
- .venv 就是虚拟环境的目录,里面包含:
- 独立的 python 可执行文件
- 独立的 pip
- 项目依赖库(不会和全局冲突)
它的好处:
- 不污染系统 Python
- 项目依赖隔离,不会冲突
- 部署、迁移时可重复创建
在 PyCharm 里,你可以直接设置项目解释器指向 .venv/bin/python,这样调试、运行都用这个虚拟环境。
3. 实际团队开发/部署最佳实践
- 本地开发
- 每个项目用一个 .venv(放在项目目录里,gitignore 掉)。
- 统一依赖用 requirements.txt 管理。
- 多人协作
- 不要上传 .venv,只上传 requirements.txt(或 poetry.lock / Pipfile.lock)。
- 新人 clone 项目后:
- python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt
- 生产环境
- Docker 部署时,不需要 .venv,直接在镜像里创建并安装依赖即可。
- 本地 .venv 只对开发调试有用。
⚡总结:
- .venv 目录有用(本地开发调试用,PyCharm 也依赖它)。
- 不要提交 .venv 到 Git,依赖由 requirements.txt 管理。
- 最佳实践是:clone 项目 → 创建 .venv → 安装 requirements.txt → 在 PyCharm 里配置使用它。
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END
















暂无评论内容