直接运行 pip install bokeh 即可完成基础安装,适用于HTML图表生成和Jupyter交互显示;需额外功能时应使用 pip install "bokeh[all]" 或按需选装如 "bokeh[jupyter]";注意环境匹配与pip版本更新。

直接运行 pip install bokeh 就能完成基础安装,但是否要加额外参数、要不要提前处理环境冲突,得看你的实际用途。
基础安装:pip install bokeh 足够跑通大多数例子
这条命令会安装 Bokeh 核心库和最小依赖(如 numpy、pillow、jinja2)。它适用于:
- 写脚本生成 HTML 图表(用
output_file()+show()) - 在 Jupyter Notebook 里调用
output_notebook()显示交互图 - 不涉及地理数据、SVG 导出或复杂服务器部署的场景
注意:pip install bokeh 不会自动下载示例数据。如果后续运行官方例子报错说找不到 autompg 或 gapminder,得手动执行 bokeh sampledata 或在 Python 中运行 bokeh.sampledata.download()。
需要 Jupyter / 地理 / 导出功能?装 bokeh[all]
很多用户卡在「为什么 GeoJSONDataSource 找不到?」或「export_svgs() 报错 missing dependency」——其实是漏装了可选组件。这时应该:
- 用
pip install "bokeh[all]"(注意引号,Windows 和 shell 都需要) - 它会额外装上
geopandas、scipy、svgwrite、jupyter_bokeh等模块 - 如果你只用其中某一部分(比如只要 Jupyter 支持),可以精简为
pip install "bokeh[jupyter]"或pip install "bokeh[geo]"
不用 [all] 的话,某些 bokeh.models 下的类或 bokeh.io.export 里的函数会直接不可用,不是 import 报错,而是运行时才提示 missing optional dependency。
常见失败原因:Python 环境没选对,或 pip 版本太老
执行 pip install bokeh 后仍 import 失败,大概率不是 Bokeh 的问题,而是环境错位:
- 确认当前终端激活的是目标 Python 环境(
which python或where python,再对比pip --version输出的 Python 路径) - 旧版 pip(bokeh[all] 这类带 extras 的格式,先升级:
pip install --upgrade pip - conda 用户混用 pip 安装 Bokeh 容易引发依赖冲突,优先用
conda install -c conda-forge bokeh;若已用 pip 装过,建议先pip uninstall bokeh再切回 conda
另外,Bokeh 3.10.0(当前最新)要求 Python ≥ 3.8,如果用的是 Python 3.7 或更早,要么降级 Bokeh(如 pip install "bokeh),要么升级 Python。
验证安装是否真成功:别只看 pip 输出“Successfully installed”
终端里 pip 返回 success,不代表 Python 能 import。务必在 Python 会话中实测:
python -c "from bokeh.plotting import figure; print('OK')"
如果报 ModuleNotFoundError,说明安装路径和当前 Python 解释器不匹配。这时候:
- 不要反复 pip install —— 先查
python -m site看 site-packages 路径 - 检查是否误用了系统 Python(尤其 macOS 上自带的 Python)
- 虚拟环境未激活就 pip install,会导致包装进 base 环境而非 venv
真正容易被忽略的是:Bokeh 的部分功能(比如服务器应用 bokeh serve)依赖 Tornado,而 Tornado 5.x+ 对异步事件循环有严格要求,在某些嵌入式 Python 环境(如 VS Code 的 Python 插件后台进程)里可能静默失败,得单独验证 bokeh serve --show 是否能打开浏览器窗口。


















