在同一页面上同时使用Sage和IPython Notebook?或者说,如何将它们结合起来?
我刚接触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 个回答
注意:IPython笔记本现在叫做Jupyter笔记本。
如果你想在Jupyter笔记本中使用Sage,可以选择以下两种方式:
- 使用Python2内核,开始时输入
%load_ext sage
,或者 - 使用SageMath内核,这样就不需要输入
%load_ext sage
了。
要更换内核,可以在菜单栏中找到 Kernel > Change Kernel
这个选项,菜单栏里还有 File
、Edit
、View
、Insert
、Kernel
和 Help
。
另外,现在有一个适用于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的新名称)上也可以使用。
在一台配置好的机器上,比如说 https://cloud.sagemath.com,你只需要在 IPython 笔记本的一个单元格里输入
%load_ext sage
然后你就可以使用 Sage 了(不过绘图功能可能还不能用 目前)。我附上了一张截图来展示这个过程。(注意:我更新了这个回答,但截图没有更新——之前的扩展功能要复杂一些。)