在同一页面上同时使用Sage和IPython Notebook?或者说,如何将它们结合起来?

6 投票
2 回答
3022 浏览
提问于 2025-04-18 04:51

我刚接触Sage和Python。在写Sage程序的时候,我去了SageMath Cloud,当我尝试创建一个新文件时,有两个选项:Sage工作表和IPython笔记本。我注意到这两者都有代码高亮和缩进功能。不过,我在想:有没有办法把它们结合起来使用呢?我该怎么把它们合在一起?比如在IPython笔记本里,我怎么才能让它识别Sage的命令?

为了更具体地说明这个问题,在Sage的教程中,有一个命令是factor(-2007)。如果你在Sage工作表上运行这个命令,它会返回你预期的结果:-1*3^2*223,但在IPython笔记本上,它却显示'factor'未定义。我该怎么在IPynb里写factor(-2007),运行后得到-1*3^2*223的结果呢?

我是在Windows 8的64位环境下工作的,想知道这是否有关系。

2 个回答

1

注意:IPython笔记本现在叫做Jupyter笔记本

如果你想在Jupyter笔记本中使用Sage,可以选择以下两种方式:

  • 使用Python2内核,开始时输入 %load_ext sage,或者
  • 使用SageMath内核,这样就不需要输入 %load_ext sage 了。

要更换内核,可以在菜单栏中找到 Kernel > Change Kernel 这个选项,菜单栏里还有 FileEditViewInsertKernelHelp

另外,现在有一个适用于Windows的SageMath安装程序,你可以从这里下载:

这个安装程序适用于任何64位的Windows系统。

使用这个安装程序,你可以通过Sage REPL(命令行界面)、Jupyter笔记本,或者旧版的SageNB笔记本来使用SageMath。

你还可以通过打开Sage命令行,运行 sage --pip install jupyterlab 来安装JupyterLab,然后通过运行 sage -n jupyterlab 来启动JupyterLab。

同样,运行 sage -n jupyter 可以打开Jupyter笔记本,而 sage -n sagenb 则可以打开旧版的SageNB笔记本。

这些操作在CoCalc(SageMathCloud的新名称)上也可以使用。

10

在一台配置好的机器上,比如说 https://cloud.sagemath.com,你只需要在 IPython 笔记本的一个单元格里输入

%load_ext sage

然后你就可以使用 Sage 了(不过绘图功能可能还不能用 目前)。我附上了一张截图来展示这个过程。(注意:我更新了这个回答,但截图没有更新——之前的扩展功能要复杂一些。)

enter image description here

撰写回答