You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PyCharm中调试通过Shell脚本启动的Python程序?

如何在PyCharm中调试通过Shell脚本启动的Python程序

有两种实用方法可以解决断点不触发的问题,具体操作如下:

方法一:修改Shell脚本,接入PyCharm远程调试

  1. 找到PyCharm安装目录下的pydevd-pycharm.egg文件,路径通常是:
    • Mac:/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevd-pycharm.egg
    • Windows:C:\Program Files\JetBrains\PyCharm\plugins\python\helpers\pydev\pydevd-pycharm.egg
  2. 修改test.sh脚本中的启动命令,加入调试参数:
    python -m pydevd_pycharm --host=localhost --port=5678 scripts/recognition.py @scripts/options/with_bert.opt
    
    若提示找不到pydevd_pycharm模块,可直接指定egg文件路径启动:
    python -p /path/to/pydevd-pycharm.egg --host=localhost --port=5678 scripts/recognition.py @scripts/options/with_bert.opt
    
    注意:如果你的PyCharm调试端口不是默认的5678,需替换为实际端口。
  3. 在PyCharm中打开项目,给recognition.py设置好断点。
  4. 打开Run/Debug Configurations,添加一个Python Remote Debug配置,主机填localhost,端口填5678(和脚本中一致),保存配置。
  5. 先启动这个Remote Debug配置,再在命令行执行sh test.sh,程序运行到断点处就会自动暂停。

方法二:在PyCharm中直接模拟脚本的启动逻辑

这种方法无需修改Shell脚本,更简便:

  1. 在PyCharm中找到scripts/recognition.py文件。
  2. 点击顶部菜单栏Run -> Edit Configurations,添加一个Python配置。
  3. 配置页面关键项设置:
    • Script path:选择scripts/recognition.py的完整路径;
    • Parameters:填入@scripts/options/with_bert.opt(确保路径和Shell脚本中一致);
    • Working directory:设置为你执行sh test.sh时所在的目录(一般是项目根目录)。
  4. 保存配置后,直接点击调试按钮启动程序,断点会正常触发。

两种方法中,方法二更适合日常调试,无需额外配置远程调试环境。

内容的提问来源于stack exchange,提问作者marlon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 02:54:22