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

解决PyCharm运行Django测试套件时的exit code 139 (SIGSEGV)错误

解决PyCharm运行Django测试套件时出现SIGSEGV(exit code 139)的方案

我之前碰到过好几例类似的情况——本地用PyCharm跑全量Django测试时触发段错误,单测却正常,CI环境完全没问题,结合你已经试过的方案,给你几个更精准的排查和解决思路:

  • 清空PyCharm缓存与索引
    旧缓存和索引不匹配是这类莫名崩溃的常见原因,尤其是你用的2019.2.4版本不算太新。操作路径:File -> Invalidate Caches...,勾选「Clear file system cache and local history」,然后重启PyCharm。重启后让它重新构建索引,再跑测试试试。

  • 切换测试运行方式
    别用PyCharm自带的默认测试 runner,换两种方式验证:

    1. 直接在终端用Django原生命令跑全量测试:python manage.py test,如果终端跑没问题,那100%是PyCharm的测试 runner 有问题;
    2. 在PyCharm的Run/Debug Configurations里,把测试配置改成「Django tests」,指定用项目的manage.py执行,或者如果装了pytest,改成「Python tests -> pytest」作为运行器。
  • 升级PyCharm到稳定新版本
    你用的2019.2.4版本比较陈旧,JetBrains在后续的2020+版本里修复了大量Python调试、测试相关的崩溃Bug。建议升级到最近的稳定版(记得备份项目配置),版本兼容性问题很可能是根源。

  • 重建Python虚拟环境
    虽然单测正常,但全量测试可能触发了虚拟环境中隐藏的依赖损坏或冲突。尝试重新建一个干净的虚拟环境:

    # 删除旧虚拟环境
    rm -rf your_venv_name/
    # 创建新的3.7虚拟环境
    python3.7 -m venv your_venv_name
    # 激活环境
    source your_venv_name/bin/activate
    # 重装所有依赖
    pip install -r requirements.txt
    

    之后再在PyCharm里指定这个新环境跑测试。

  • 禁用第三方插件
    某些第三方插件(比如代码覆盖率、性能分析类)可能和测试运行器冲突,导致段错误。可以先去Settings -> Plugins里禁用所有非JetBrains官方的插件,重启PyCharm后再跑测试,排查是否是插件导致的问题。

既然CI环境完全正常,说明代码和依赖本身没有问题,把排查重点放在本地PyCharm的配置、缓存和环境适配上面,按上面的步骤一步步来,应该能解决这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:50:42