如何在离线(气隙)环境的Jupyter Notebook中使用Bokeh后端的Holoviews?
如何在离线(气隙)环境的Jupyter Notebook中使用Bokeh后端的Holoviews?
我之前在离线环境里也碰到过这个问题——单独配置Bokeh用INLINE能正常显示,但Holoviews就是出空白输出,其实只要给Holoviews也加上对应的INLINE资源配置就行,步骤很清晰:
首先,先完成Bokeh的离线基础配置,这一步你已经了解了,这里再完整列出来确保流程连贯:
import bokeh.io from bokeh.resources import INLINE # 让Bokeh在Notebook中使用内嵌资源,完全不依赖网络 bokeh.io.output_notebook(INLINE)
接下来是关键的一步:给Holoviews的Bokeh渲染器也指定使用INLINE资源,这样Holoviews生成的可视化就不会再尝试从网络加载资源了:
import holoviews as hv # 启用Bokeh作为Holoviews的后端 hv.extension('bokeh') # 获取Holoviews的Bokeh渲染器,并配置它使用INLINE资源 renderer = hv.renderer('bokeh') renderer.io.output_notebook(INLINE)
把这些代码放在Notebook的最开头,之后你就可以正常使用Holoviews了,比如测试一个简单的曲线验证效果:
# 测试示例:生成一条简单曲线 test_curve = hv.Curve([1, 3, 2, 5, 4]) test_curve
这样配置后,所有需要的Bokeh JS和CSS资源都会直接内嵌到Notebook里,完全不需要联网,也就不会再出现空白输出的问题了。
备注:内容来源于stack exchange,提问作者Caleb
相关产品推荐
相关产品推荐

