本地配置Thebe实现JupyterBook(MyST)可执行内容求助
本地启用Thebe实现可执行代码与ipywidgets的分步指引
1. 安装必要依赖
在终端运行以下命令,确保环境包含Thebe和ipywidgets的支持包:
pip install jupyter-book thebe ipywidgets jupyter nbextension enable --py widgetsnbextension
2. 修改项目根目录的myst.yml配置
打开你的myst.yml文件,添加或整合以下配置内容:
sphinx: extensions: - thebe - ipywidgets.sphinxext # 启用ipywidgets的Sphinx扩展 config: # Thebe核心配置 thebe_config: repository_url: "" # 本地运行无需填写GitHub仓库地址 binder_url: "" # 本地模式下留空,直接调用本地Python内核 selector: "div.highlight-python" # 指定要转为可执行单元格的代码块选择器 kernel_name: "python3" # 匹配你本地的Python内核名称(可通过`jupyter kernelspec list`查看) use_binder_button: false # 禁用Binder按钮(本地运行不需要) use_thebe_button: true # 显示Thebe激活按钮
注意:如果
myst.yml中已有sphinx配置块,直接在对应位置补充上述内容即可,不要重复创建sphinx节点。
3. 确保代码块格式符合要求
- 对于
.ipynb笔记本文件:无需额外修改,Jupyter Book会自动识别其中的代码单元格。 - 对于Markdown文件中的代码块:需要添加
{code-cell}指令标记可执行代码,示例如下:
```{code-cell} python import ipywidgets as widgets slider = widgets.IntSlider(value=5, min=0, max=10) slider
## 4. 重新构建并启动本地服务 在项目根目录执行以下命令,清理旧构建文件后重新启动服务: ```bash jupyter-book clean . myst build myst serve
启动后访问http://localhost:3000/neural-geometry,页面会显示"Thebe"按钮,点击后代码单元格将转为可执行状态,运行代码后ipywidgets控件可正常交互。
5. 排查内核连接问题
如果点击Thebe按钮后无法连接内核,检查两点:
- 用
jupyter kernelspec list命令确认本地存在myst.yml中指定的内核名称,若名称不匹配,修改thebe_config里的kernel_name为实际内核名称。 - 确保本地Jupyter服务正常运行,可通过
jupyter notebook命令先启动一次,验证内核能正常加载。
内容的提问来源于stack exchange,提问作者Atharva
相关产品推荐
相关产品推荐

