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

Bokeh升级至2.0.2后无法渲染,卡在Loading BokehJS状态

解决Bokeh 2.0.2在Jupyter中加载失败的问题

嘿,我来帮你搞定这个升级Bokeh后遇到的加载问题!从你描述的情况和环境信息来看,核心问题是升级后BokehJS一直卡在“Loading BokehJS ...”状态,导致绘图无法显示。咱们一步步来排查解决:

问题根源分析

你从旧版Bokeh(0.12)直接跨版本升级到2.0.2,版本跨度很大,大概率是旧版本的BokehJS缓存与新版本资源冲突,或者Jupyter与新版Bokeh的资源加载机制不兼容。另外你环境里没装Node.js,但Bokeh 2.0.2在Jupyter中运行其实不需要Node.js,所以这个不是核心问题。

具体解决方案

1. 先清理缓存并重启内核

这是最容易操作且有效的第一步:

  • 在Jupyter中点击顶部菜单的 Kernel -> Restart & Clear Output,彻底重置当前内核并清除所有输出;
  • 打开浏览器设置,清空缓存的图像和文件(快捷键Ctrl+Shift+Del),确保旧版BokehJS的缓存被完全清除;
  • 重新运行你的导入代码和绘图代码,看看是否能正常加载。

2. 强制使用本地BokehJS资源

你之前试过INLINE但没效果,试试明确指定本地静态资源路径(就是你bokeh info里的BokehJS static path),避免依赖CDN加载:
修改你的资源导入和输出代码为:

from bokeh.resources import Resources
# 替换成你自己的BokehJS静态路径
local_res = Resources(mode='inline', root_url='file:///c:/users/cuspi/anaconda3/lib/site-packages/bokeh/server/static/')
output_notebook(resources=local_res, hide_banner=True)

然后重新运行所有代码,这样会直接从本地加载BokehJS资源,避免CDN的网络问题。

3. 安装并启用Jupyter-Bokeh扩展

新版Bokeh对Jupyter的交互支持依赖专门的扩展,你可以试试安装它:
在Jupyter的终端中运行:

# 用conda安装(推荐,避免版本冲突)
conda install -c bokeh jupyter_bokeh
# 或者用pip
pip install jupyter_bokeh

安装完成后启用扩展:

jupyter nbextension enable --py jupyter_bokeh

重启Jupyter后再测试绘图。

4. 降级到兼容的Bokeh版本(备选方案)

如果上面的方法都无效,可能是Python 3.7.3和Bokeh 2.0.2之间存在兼容性问题。你可以尝试降级到Bokeh 1.4.0,这个版本对Python 3.7的支持更稳定:

pip install bokeh==1.4.0 --force-reinstall

降级完成后重启Jupyter,再运行你的代码试试。

测试验证

不管用哪种方法,最后都可以用这段极简代码测试:

from bokeh.plotting import figure, show
from bokeh.io import output_notebook

output_notebook()
p = figure()
p.line(x=[1,2,3], y=[4,5,6])
show(p)

如果这段代码能正常显示图形,就说明问题解决啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 15:12:33