Ubuntu18.04下Jupyter Notebook中SageMath内核启动即崩溃求助
解决SageMath内核在Jupyter Notebook中崩溃的问题
你猜的没错——Ubuntu 18.04默认仓库里的SageMath确实是基于Python 2.x的,而你用pip3安装的Jupyter是跑在Python 3环境下的,这种跨版本的搭配很容易导致内核启动失败甚至崩溃。下面给你几个靠谱的解决办法:
方案1:使用Sage自带的Jupyter(最省心)
SageMath本身已经内置了Jupyter,完全不需要额外用pip安装的版本。你可以直接通过Sage启动Jupyter:
sage -n jupyter
这样启动的Jupyter会自动关联正确的Sage内核,不会有版本冲突问题,而且所有Sage的功能都能正常使用。
方案2:为Python3环境安装兼容的Sage内核
如果你坚持要用自己pip安装的Jupyter,可以尝试安装针对Python3的SageMath内核:
- 首先确保你安装了Python3版本的Sage依赖:
sudo apt-get install sagemath-python3
- 然后通过Sage的Python3环境注册内核:
sage-python3 -m ipykernel install --user --name=sagemath
完成后重启Jupyter,应该就能看到可用的SageMath内核了,而且不会再崩溃。
方案3:手动修复现有内核的配置
如果你已经安装了旧的Python2版Sage内核,可以手动修改内核配置文件来指定正确的Python解释器:
- 找到Jupyter的内核配置目录,一般在
~/.local/share/jupyter/kernels/sagemath/ - 打开
kernel.json文件,把其中的"python"路径改成Sage的Python3解释器路径,比如:
{ "display_name": "SageMath", "language": "python", "argv": [ "/usr/bin/sage-python3", "-m", "ipykernel_launcher", "-f", "{connection_file}" ] }
- 保存后重启Jupyter即可。
额外排查步骤
如果以上方法都不行,可以查看内核崩溃的日志来定位问题:
- 启动Jupyter的时候加上
--debug参数,看终端输出的错误信息:
jupyter notebook --debug
- 或者查看Jupyter的日志文件,一般在
~/.jupyter/logs/目录下,里面会详细记录内核启动失败的原因。
内容的提问来源于stack exchange,提问作者gcousin
相关产品推荐
相关产品推荐

