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

Ubuntu18.04下Jupyter Notebook无法加载Python3内核求助

问题描述

在Ubuntu 18.04 (LTS) x64系统中运行Jupyter Notebook时,无法选择Python3内核,报错信息为:

Error loading kernelspec 'python3'

详细报错回溯如下:

Error loading kernelspec 'python3'
    Traceback (most recent call last):
      File "/home/of/.local/lib/python3.10/site-packages/jupyter_client/kernelspec.py", line 309, in get_all_specs
        spec = self._get_kernel_spec_by_name(kname, resource_dir)
      File "/home/of/.local/lib/python3.10/site-packages/jupyter_client/kernelspec.py", line 242, in _get_kernel_spec_by_name
        from ipykernel.kernelspec import RESOURCES, get_kernel_dict
      File "/home/of/.local/lib/python3.10/site-packages/ipykernel/kernelspec.py", line 18, in <module>
        from .debugger import _is_debugpy_available
      File "/home/of/.local/lib/python3.10/site-packages/ipykernel/debugger.py", line 40, in <module>
        raise e
      File "/home/of/.local/lib/python3.10/site-packages/ipykernel/debugger.py", line 23, in <module>
        from debugpy.server import api  # noqa
      File "/home/of/.local/lib/python3.10/site-packages/debugpy/server/__init__.py", line 7, in <module>
        import debugpy._vendored.force_pydevd  # noqa
      File "/home/of/.local/lib/python3.10/site-packages/debugpy/_vendored/force_pydevd.py", line 44, in <module>
        preimport('pydevd', [
      File "/home/of/.local/lib/python3.10/site-packages/debugpy/_vendored/__init__.py", line 126, in preimport
        import_module(name)
      File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "/home/of/.local/lib/python3.10/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py", line 5, in <module>
        __import__('pkg_resources').declare_namespace(__name__)
      File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 77, in <module>
        __import__('pkg_resources.extern.packaging.requirements')
      File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/requirements.py", line 9, in <module>
        from pkg_resources.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 672, in _load_unlocked
      File "<frozen importlib._bootstrap>", line 632, in _load_backward_compatible
      File "/usr/lib/python3/dist-packages/pkg_resources/extern/__init__.py", line 43, in load_module
        __import__(extant)
      File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py", line 943, in <module>
        collections.MutableMapping.register(ParseResults)
    AttributeError: module 'collections' has no attribute 'MutableMapping'

已尝试卸载并重装Jupyter Notebook,问题未解决。当前系统Python及Jupyter组件版本:

python --version && python3 --version
Python 2.7.17
Python 3.10.11

jupyter --version
Selected Jupyter core packages...
IPython          : 8.13.2
ipykernel        : 6.23.0
ipywidgets       : 8.0.6
jupyter_client   : 8.2.0
jupyter_core     : 5.3.0
jupyter_server   : 2.5.0
jupyterlab       : not installed
nbclient         : 0.7.4
nbconvert        : 7.4.0
nbformat         : 5.8.0
notebook         : 6.5.4
qtconsole        : 5.4.3
traitlets        : 5.9.0
解决方案

核心问题是Python 3.10中collections.MutableMapping已被移至collections.abc.MutableMapping,而系统自带的pyparsing.py版本过旧,不兼容该变更。以下是三种解决方法:

方案1:更新setuptools

pkg_resources属于setuptools组件,更新setuptools可替换旧的pyparsing版本:

pip3 install --upgrade setuptools

方案2:手动修改pyparsing.py文件

若更新setuptools无效,直接修改出错文件:

  1. 打开目标文件:
sudo nano /usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py
  1. 找到第943行的collections.MutableMapping.register(ParseResults),替换为:
try:
    from collections.abc import MutableMapping
except ImportError:
    from collections import MutableMapping
MutableMapping.register(ParseResults)
  1. 保存退出(按Ctrl+O回车确认,再按Ctrl+X)

方案3:创建虚拟环境隔离依赖

避免系统Python版本冲突,在虚拟环境中安装Jupyter:

  1. 安装虚拟环境工具:
sudo apt install python3.10-venv
  1. 创建并激活虚拟环境:
python3.10 -m venv jupyter_env
source jupyter_env/bin/activate
  1. 在虚拟环境中安装Jupyter:
pip install jupyter notebook
  1. 启动Jupyter Notebook:
jupyter notebook

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 01:40:10