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

Jupyter环境下Bokeh的AutocompleteInput点击选项无法补全问题求助

解决Bokeh AutocompleteInput在Jupyter Notebook中点击补全选项无法填充的问题

我之前也碰到过类似的情况,结合你给出的环境(Jupyter Notebook 5.7.4、Bokeh 1.0.4、Firefox 63.0.3、Python3.7)和代码,这大概率是旧版本Bokeh与Jupyter交互的兼容性bug,给你几个实用的解决思路:

1. 优先升级Bokeh版本

Bokeh 1.x早期版本在Jupyter环境的Widget交互上确实存在不少小问题,升级到更稳定的新版本能直接解决这类bug。执行下面的命令就能升级:

pip install --upgrade bokeh

推荐升级到2.x系列的稳定版,这个版本对Jupyter的支持完善了很多。

2. 调整代码的输出模式

在Jupyter Notebook里用Bokeh的show()函数时,有时候需要明确指定输出为Notebook兼容模式。你可以修改代码如下:

from bokeh.models.widgets import AutocompleteInput
from bokeh.io import curdoc, show, output_notebook
from bokeh.layouts import layout

# 先初始化Notebook输出模式,确保加载正确的JS资源
output_notebook()

cList1 = ["你的补全选项1", "你的补全选项2"]  # 替换成你实际的补全列表
input_widget = AutocompleteInput(completions=cList1, title='FTTH Keys', value='')
l = layout([[input_widget],], sizing_mode='fixed')
curdoc().add_root(l)
curdoc().title = 'UI Test'
show(l)

添加output_notebook()能让Bokeh在Jupyter环境中正确加载所需的交互JS资源,避免点击补全选项没反应的情况。

3. 检查浏览器版本

你用的Firefox 63.0.3版本有点老旧了,可能对Bokeh的JS渲染存在兼容性问题。试试把Firefox升级到最新稳定版,或者换Chrome浏览器测试下,说不定问题就解决了。

如果上面的方法都不管用,还有个备选方案:把代码保存成.py文件,用Bokeh独立服务器运行。具体操作是:

  1. 把代码保存为ui_test.py
  2. 在终端执行命令:
bokeh serve --show ui_test.py

这种方式会启动Bokeh的独立服务器,能避开Jupyter环境的一些限制,交互功能会更稳定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:13:17