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

Jupyter启用widgetsnbextension遇模块缺失错误及路径问题求助

问题背景

我使用Windows 10系统、Python 3.11.2版本、Jupyter 4.0.4版本,操作时遇到以下情况:

  • 已在命令提示符成功执行pip install jupyter_contrib_nbextensions
  • 已成功安装widgetsnbextension-4.0.9
  • 在Jupyter单元格执行!jupyter nbextension enable --py widgetsnbextension时出现报错,推测原因是Jupyter指向了C:\Miniconda3目录,而非我直接安装的Python目录。

报错信息如下:

Traceback (most recent call last):
  File "C:\Miniconda3\Scripts\jupyter-nbextension-script.py", line 9, in <module>
    sys.exit(main())
  File "C:\Miniconda3\lib\site-packages\jupyter_core\application.py", line 254, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "C:\Miniconda3\lib\site-packages\traitlets\config\application.py", line 845, in launch_instance
    app.start()
  File "C:\Miniconda3\lib\site-packages\notebook\nbextensions.py", line 980, in start
    super().start()
  File "C:\Miniconda3\lib\site-packages\jupyter_core\application.py", line 243, in start
    self.subapp.start()
  File "C:\Miniconda3\lib\site-packages\notebook\nbextensions.py", line 888, in start
    self.toggle_nbextension_python(self.extra_args[0])
  File "C:\Miniconda3\lib\site-packages\notebook\nbextensions.py", line 861, in toggle_nbextension_python
    return toggle(module,
  File "C:\Miniconda3\lib\site-packages\notebook\nbextensions.py", line 474, in enable_nbextension_python
    return _set_nbextension_state_python(True, module, user, sys_prefix,
  File "C:\Miniconda3\lib\site-packages\notebook\nbextensions.py", line 372, in _set_nbextension_state_python
    m, nbexts = _get_nbextension_metadata(module)
  File "C:\Miniconda3\lib\site-packages\notebook\nbextensions.py", line 1114, in _get_nbextension_metadata
    m = import_item(module)
  File "C:\Miniconda3\lib\site-packages\traitlets\utils\importstring.py", line 38, in import_item
    return __import__(parts[0])
ModuleNotFoundError: No module named 'widgetsnbextension'
求助问题
  1. 如何让Jupyter指向正确的Python目录而非Miniconda?
  2. 是否有其他启用widgetsnbextension的方法?
解决方案

问题1:让Jupyter指向正确的Python目录

  • 重新安装Jupyter到目标Python环境
    打开目标Python对应的命令提示符(确保路径指向你直接安装的Python的Scripts目录,比如C:\Python311\Scripts),执行:

    pip install jupyter
    

    之后启动Jupyter时,使用该目录下的jupyter-notebook.exe,而非Miniconda路径下的程序。

  • 调整系统环境变量优先级

    1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
    2. 在「系统变量」的Path列表中,找到Miniconda的Scripts目录(如C:\Miniconda3\Scripts),将其移到目标Python的Scripts目录(如C:\Python311\Scripts)下方
    3. 保存设置后重启命令提示符,执行where jupyter确认路径已切换到目标Python目录
  • 使用Python的-m参数启动Jupyter
    直接在命令提示符中通过目标Python的完整路径启动Jupyter,示例命令:

    C:\Python311\python.exe -m notebook
    

    这种方式会强制Jupyter使用指定的Python环境及其依赖。

问题2:其他启用widgetsnbextension的方法

  • 在目标Python环境的命令提示符直接执行启用命令
    打开目标Python对应的命令提示符,直接执行:

    jupyter nbextension enable --py widgetsnbextension
    

    避免在Jupyter单元格中用!执行,防止调用到Miniconda的Jupyter程序。

  • 用ipywidgets的完整配置命令自动生效
    在目标Python环境的命令提示符执行:

    pip install ipywidgets
    jupyter nbextension enable --py widgetsnbextension --sys-prefix
    

    加上--sys-prefix参数可确保配置针对当前Python环境生效。

  • 通过Jupyter Notebook的扩展管理器启用

    1. 确保已安装jupyter_contrib_nbextensions,若未安装则执行pip install jupyter_contrib_nbextensions和jupyter contrib nbextension install --user
    2. 启动Jupyter Notebook,点击顶部的「Nbextensions」标签
    3. 在扩展列表中找到「Widgets」相关选项,勾选即可启用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 06:48:39