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

Jupyter Notebook中Scipy RuntimeWarning溯源:跨环境差异下的调试求助

调试Scipy统计分析阶段的溢出警告问题

环境信息

基于Python 3.9.0搭建venv虚拟环境,安装的包及版本如下:

#For python 3.9.0
scipy==1.10.1
pandas==2.0.1
PyYAML==6.0
scikit-learn==1.2.2
statsmodels==0.14.0
natsort==8.3.1
plotly==5.14.1
seaborn==0.12.2
notebook==6.5.4
requests==2.31.0
openpyxl==3.1.2
kaleido==0.2.1
UpSetPlot==0.8.0
dash-bio==1.0.2
logomaker==0.8
pingouin==0.5.3

问题现象

启动Jupyter Notebook导入代码分析数据时,统计分析阶段反复出现以下RuntimeWarning:

/Users/bob/Documents/virtualEnv20230909/lib/python3.9/site-packages/scipy/stats/_continuous_distns.py:6832: RuntimeWarning: overflow encountered in _nct_sf
  return np.clip(_boost._nct_sf(x, df, nc), 0, 1)
/Users/bob/Documents/virtualEnv20230909/lib/python3.9/site-packages/scipy/stats/_continuous_distns.py:6826: RuntimeWarning: overflow encountered in _nct_cdf
  return np.clip(_boost._nct_cdf(x, df, nc), 0, 1)
/Users/bob/Documents/virtualEnv20230909/lib/python3.9/site-packages/scipy/stats/_continuous_distns.py:6832: RuntimeWarning: overflow encountered in _nct_sf
  return np.clip(_boost._nct_sf(x, df, nc), 0, 1)

目前观察警告似乎不影响最终结果,但无法完全确认。奇怪的是,同事使用相同包版本的虚拟环境运行同一代码,从未触发该警告。

排查中的困境

  • 根据错误回溯定位到scipy的stats模块,但在_continuous_distns.py中找不到_boost._nct_sf和_boost._nct_cdf的定义;进入_boost目录后也找不到这两个函数的实现,仅在__init__.py中被引用。
  • 警告信息中“overflow encountered in”指向的函数与报错行的关联逻辑不清晰。
  • Jupyter Notebook调试效率极低,修改导入代码后必须重启内核;在VS Code中调试时,虽大致知道错误出现位置,但设置断点后仍无法精确定位根源。
  • 怀疑问题超出虚拟环境配置范围,但无法确认具体原因。

求助

有哪些方法可以更有效地调试该问题?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 23:26:17