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

Ubuntu20.04下SageMath启动notebook报错:sagenb模块缺失如何解决?

修复Ubuntu 20.04中SageMath打开Notebook的ModuleNotFoundError问题

你遇到的这个报错是因为SageMath 9.0开始已经默认弃用了旧的sagenb模块,转而推荐使用Jupyter Notebook。下面给你两种解决思路:

你碰到的具体报错信息:

mks@MKS-H81M-S:~$ sage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 9.0, Release Date: 2020-01-01 │
│ Using Python 3.8.5. Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
sage: notebook()
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-1-b5959bb24428> in <module>
----> 1 notebook()

/usr/lib/python3/dist-packages/sage/misc/lazy_import.pyx in sage.misc.lazy_import.LazyImport.__call__ (build/cythonized/sage/misc/lazy_import.c:3684)()
    351         True
    352         """
--> 353         return self.get_object()(*args, **kwds)
    354
    355     def __repr__(self):

/usr/lib/python3/dist-packages/sage/misc/lazy_import.pyx in sage.misc.lazy_import.LazyImport.get_object (build/cythonized/sage/misc/lazy_import.c:2347)()
    186         if likely(self._object is not None):
    187             return self._object
--> 188         return self._get_object()
    189
    190     cpdef _get_object(self):

/usr/lib/python3/dist-packages/sage/misc/lazy_import.pyx in sage.misc.lazy_import.LazyImport._get_object (build/cythonized/sage/misc/lazy_import.c:2586)()
    218         elif self._at_startup and not startup_guard:
    219             print('Option ``at_startup=True`` for lazy import {0} not needed anymore'.format(self._name))
--> 220         self._object = getattr(__import__(self._module, {}, {}, [self._name]), self._name)
    221         name = self._as_name
    222         if self._deprecation is not None:

ModuleNotFoundError: No module named 'sagenb'
sage: 

解决方法

方法一:使用官方推荐的Jupyter Notebook(强烈推荐)

SageMath 9.0之后官方就主推Jupyter了,功能比旧的sagenb更完善,操作也很简单:

  • 在SageMath的交互界面里,输入jupyter_notebook()代替原来的notebook(),回车就能启动Jupyter Notebook界面了。
  • 或者直接退出Sage环境,在终端里执行sage -n jupyter命令,也能直接打开Jupyter。

方法二:安装弃用的sagenb模块(不推荐)

如果你确实需要用旧的sagenb,可以通过Sage自带的pip安装:

  • 方式一:在Sage交互环境里输入!pip install sagenb(前面的感叹号是告诉Sage执行系统命令)
  • 方式二:退出Sage,在终端里运行sage -pip install sagenb,这样会用Sage自带的pip安装,避免和系统的pip环境冲突。

⚠️ 注意:sagenb已经被官方标记为弃用,后续的SageMath版本会彻底移除这个模块,所以还是建议尽快切换到Jupyter Notebook哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:26:33