ModuleNotFoundError:安装 nbextensions 时没有名为“notebook.base”的模块

Nik*_*aev 27 python-3.x jupyter-notebook jupyter-contrib-nbextensions modulenotfounderror

第 1000 次,我尝试为我的 Jupyter Notebook 安装 nbextensions 每次收到错误ModuleNotFoundError:没有名为 \xe2\x80\x98notebook.base\xe2\x80\x99 的模块

\n

我按照指示做了一切;在 Windows 11 cmd 中:

\n
    \n
  1. 使用命令安装笔记本pip install notebook
  2. \n
  3. 下载的包pip install jupyter_contrib_nbextensions
  4. \n
  5. 然后我尝试使用命令安装这些软件包jupyter contrib nbextension install --user。在这一步我收到错误:from notebook.base.handlers import APIHandler, IPythonHandler ModuleNotFoundError: No module named \xe2\x80\x98notebook.base\xe2\x80\x99
  6. \n
\n

我已经

\n
    \n
  • 使用命令重新安装笔记本pip install --upgrade --force-reinstall notebook- 无结果;
  • \n
  • 删除并重新安装 nbextensionspip install jupyter_contrib_nbextensions - 无济于事;
  • \n
  • 创建了一个 venv 并尝试在那里安装扩展 - 不;
  • \n
  • 使用命令清除包中的缓存pip cache purge- 这也没有成功。
  • \n
  • 最终再次重新安装了python - 结果总是一样的。
  • \n
\n

我有最新的Python 3.11.4。安装Python时将路径写入环境变量中,我还创建了一个PYTHONPATH变量,路径为:C:\\Users\\Nikita\\AppData\\Local\\Programs\\Python\\Python311。

\n

请帮助或建议 Jupyter Notebook 的另一个扩展,该扩展将允许格式化代码,如 autopep8。

\n
C:\\Users\\\xd0\x9d\xd0\xb8\xd0\xba\xd0\xb8\xd1\x82\xd0\xb0>jupyter contrib nbextension install --user\nTraceback (most recent call last):\n  File "<frozen runpy>", line 198, in _run_module_as_main\n  File "<frozen runpy>", line 88, in _run_code\n  File "C:\\Users\\\xd0\x9d\xd0\xb8\xd0\xba\xd0\xb8\xd1\x82\xd0\xb0\\AppData\\Local\\Programs\\Python\\Python311\\Scripts\\jupyter-contrib.EXE\\__main__.py", line 7, in <module>\n  File "C:\\Users\\\xd0\x9d\xd0\xb8\xd0\xba\xd0\xb8\xd1\x82\xd0\xb0\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\jupyter_core\\application.py", line 285, in launch_instance\n    return super().launch_instance(argv=argv, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "C:\\Users\\\xd0\x9d\xd0\xb8\xd0\xba\xd0\xb8\xd1\x82\xd0\xb0\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\traitlets\\config\\application.py", line 1041, in launch_instance\n    app = cls.instance(**kwargs)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File "C:\\Users\\\xd0\x9d\xd0\xb8\xd0\xba\xd0\xb8\xd1\x82\xd0\xb0\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\traitlets\\config\\configurable.py", line 551, in instance\n    inst = cls(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^\n  File "C:\\Users\\\xd0\x9d\xd0\xb8\xd0\xba\xd0\xb8\xd1\x82\xd0\xb0\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\jupyter_contrib_core\\application.py", line 27, in __init__\n    self._refresh_subcommands()\n  File "C:\\Users\\\xd0\x9d\xd0\xb8\xd0\xba\xd0\xb8\xd1\x82\xd0\xb0\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\jupyter_contrib_core\\application.py", line 43, in _refresh_subcommands\n    get_subcommands_dict = entrypoint.load()\n                           ^^^^^^^^^^^^^^^^^\n  File "C:\\Users\\\xd0\x9d\xd0\xb8\xd0\xba\xd0\xb8\xd1\x82\xd0\xb0\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pkg_resources\\__init__.py", line 2471, in load\n    return self.resolve()\n           ^^^^^^^^^^^^^^\n  File "C:\\Users\\\xd0\x9d\xd0\xb8\xd0\xba\xd0\xb8\xd1\x82\xd0\xb0\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\pkg_resources\\__init__.py", line 2477, in resolve\n    module = __import__(self.module_name, fromlist=['__name__'], level=0)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "C:\\Users\\\xd0\x9d\xd0\xb8\xd0\xba\xd0\xb8\xd1\x82\xd0\xb0\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\jupyter_contrib_nbextensions\\__init__.py", line 5, in <module>\n    import jupyter_nbextensions_configurator\n  File "C:\\Users\\\xd0\x9d\xd0\xb8\xd0\xba\xd0\xb8\xd1\x82\xd0\xb0\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\jupyter_nbextensions_configurator\\__init__.py", line 18, in <module>\n    from notebook.base.handlers import APIHandler, IPythonHandler\nModuleNotFoundError: No module named 'notebook.base'\n
Run Code Online (Sandbox Code Playgroud)\n

Ang*_*nda 38

您拥有的 Jupyter Notebook 版本不适合安装扩展,因为据我所知它变得不兼容。因此,您需要使用较低版本。以下版本对我有用:

pip install --upgrade notebook==6.4.12
Run Code Online (Sandbox Code Playgroud)

  • 至少从我所看到的来看,当前版本的 Jupyter Notebook 似乎不再支持 nbextensions。这是因为他们引入了 Jupyter Lab,可以在其中获得扩展。 (3认同)

小智 15

添加安吉洛上面所说的:

重新安装笔记本后: pip install --upgrade notebook==6.4.12

您可能会看到有关 Traitlet 的错误,请也更改此处的版本:

pip uninstall traitlets
pip install traitlets==5.9.0
Run Code Online (Sandbox Code Playgroud)