启用jupyter_nbextensions_configurator遇ModuleNotFoundError:缺失notebook.base
Jupyter nbextensions_configurator 启用失败求助
尝试启用jupyter_nbextensions_configurator时触发报错,具体信息如下:
报错1:Jupyter环境内启用失败
jupyter_nbextensions_configurator | error adding extension (enabled: True): The module 'jupyter_nbextensions_configurator' could not be found (No module named 'notebook.base'). Are you sure the extension is installed? Traceback (most recent call last): File "[...]/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 319, in add_extension extpkg = ExtensionPackage(name=extension_name, enabled=enabled) File "[...]/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 183, in __init__ self._load_metadata() File "[...]/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 198, in _load_metadata raise ExtensionModuleNotFound(msg) from None jupyter_server.extension.utils.ExtensionModuleNotFound: The module 'jupyter_nbextensions_configurator' could not be found (No module named 'notebook.base'). Are you sure the extension is installed?
报错2:命令行激活失败
jupyter nbextensions_configurator enable Traceback (most recent call last): File "[...]/bin/jupyter-nbextensions_configurator", line 5, in <module> from jupyter_nbextensions_configurator.application import main File "[...]/lib/python3.11/site-packages/jupyter_nbextensions_configurator/__init__.py", line 18, in <module> from notebook.base.handlers import APIHandler, IPythonHandler ModuleNotFoundError: No module named 'notebook.base'
当前环境依赖版本
- Python 3.11.5
- pip 23.2.1
- notebook 7.0.3
- jupyter 1.0.0
- jupyter_client 8.3.1
- jupyter_console 6.6.3
- jupyter-contrib-core 0.4.2
- jupyter-contrib-nbextensions 0.7.0
- jupyter_core 5.3.1
- jupyter-events 0.7.0
- jupyter-highlight-selected-word 0.2.0
- jupyter-lsp 2.2.0
- jupyter-nbextensions-configurator 0.6.3
- jupyter_server 2.7.2
- jupyter_server_terminals 0.4.4
- jupyterlab 4.0.5
- jupyterlab-pygments 0.2.2
- jupyterlab_server 2.24.0
- jupyterlab-widgets 3.0.8
问题原因与解决方案
原因
Notebook 7.x版本基于Jupyter Server重构,移除了旧版Notebook 6.x中的notebook.base模块,而当前使用的jupyter-nbextensions-configurator 0.6.3仅兼容Notebook 6.x,因此出现模块找不到的错误。
解决方法
方法1:降级Notebook到兼容版本(最稳妥)
- 卸载当前Notebook:
pip uninstall -y notebook
- 安装兼容的6.x版本(推荐6.5.5):
pip install notebook==6.5.5
- 重新启用配置器:
jupyter nbextensions_configurator enable
方法2:使用Notebook 7.x适配的扩展方案
Notebook 7.x更推荐使用Jupyter Lab扩展生态,若需类似nbextensions的功能,可查找对应功能的Jupyter Lab扩展并安装。目前多数传统nbextensions尚未适配Notebook 7.x,此方法需逐个功能替换。
内容的提问来源于stack exchange,提问作者vbfh
相关产品推荐
相关产品推荐

