vscode printf输出到文件_vscode+jupyternotebook+sagemath配置

本文介绍如何在VSCode中配置SageMath环境,包括安装必要的组件、设置Jupyter Notebook服务器、更改内核以实现代码高亮等功能。此外,还提供了解决公式渲染问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天想用vscode使用sagemath,配置方法如下:

下载sagemath

windows端下载sagemath的链接如下

Releases · sagemath/sage-windows​github.com
d6dc67bd-eb2a-eb11-8da9-e4434bdf6706.png

vscode里使用jupyternotebook

安装最常用的那个python扩展,注意它已经是集成了jupyternotebook,不需要额外安装jupyter扩展。

be2ec481051063677e4fbcf751204260.png

此时在文件夹里新建一个.ipynb文件,打开它就是jupyternotebook的界面了

7f3462a122a010a50fa75439b043126e.png

(以上步骤是在vscode里用jupyternotebook,这个网上已经有很多教程了,如果觉得我这里写的不够详细的话可以看网上的相关教程)

但此时server调用的不是sagemath的server。我们还需要更改server。

使用sagemath server

打开SageMath 9.1 Notebook

b41dfbf9f4b5a93c765e72391f77de2c.png

会弹出如下命令行界面,并弹出浏览器

df92acf1433d5453bbe62831aa94ad8c.png

我们把浏览器关掉(毕竟这里是在用vscode写代码),然后复制上图红框圈出的URL。切回到vscode,点击下图红框(Jupyter Server那个位置)

c9580eabfe43b0d1f2e81eb6a8ceeb4c.png

然后会弹出下图所示的框,点击Exisiting

27bd3b2c958f363495256a35c03ac77a.png

如下图那样把刚才复制的URL粘贴进去

08e4473845d865bd5a6b0b9331cea72d.png

回车以后,重启(reload) vscode

1c2a559ff27e3909f73e0b1be7b495e1.png

使用sage kernel

重启后如下图所示。下图的蓝框显示的应该是刚才的url。如果是这样说明server加载成功。

97cc14c190c590b85b13b2c112e207b8.png

现在点击上图红框(Python3那个位置)。稍后会弹出一个框,在弹出的框中选择SageMath 9.1,然后等待kernel被切换到sagemath

caa8e318d034bc66406a71eb14182c38.png

当发现下图蓝框的位置是SageMath9.1时,就说明切换成功了。

332841c5ba2b1881251a71d55be8584d.png

测试

现在vscode+jupyternotebook+sagemath就配置成功了。我们测试一下,比如输入sage的参考文档里的一段代码

R 

1414169e38a4f7cc32e118f92b1ea659.png

上图蓝框是我们期待的正确输出。

代码高亮

不过仍然有一个问题。如果按照如上配置的话,代码是不会高亮显示的,如下图所示:

8541cdafd41be7d4ac7f7a22870a7660.png

原因是,默认的sage kernel的配置里语言那一项是sage而不是python,但vscode本身不支持sage的高亮显示。所以我们需要把语言项从sage改成python。具体改法如下[1]

找到sage kernel的文件夹,默认位置是

C:Users<User>AppDataLocalSageMath-9.1runtimeoptsagemath-9.1localsharejupyterkernels

这个目录下有一个文件夹名称叫"sagemath",复制这个文件夹于同目录下,并改名为"sagemath-vscode",如下图所示:

78f248818b0f1e49b5735c7c6d9c1d79.png

打开sagemath-vscode文件夹,里面有kernel.json文件,用记事本或者vscode打开它,将里面的"language"后面改成"python”,将"display_name"后面改成"SageMath 9.1 for VSCode",改完后应如下图所示:

bbf672e348596d969d74cb5021c202ca.png

现在回到.ipynb文件,点击下图红框(SageMath那个位置)

7aa8ee9bd2b086e1f135c62fe0607611.png

然后会弹出一个框,在弹出的框中选择SageMath 9.1 for VSCode(注意不是原来的SageMath 9.1),之后我们就发现代码高亮了,如下图所示。

5590505b3f8c6fd9a6af29137f0cde20.png

运行一下,发现能够正确输出。此时说明我们配置成功了。

目前的问题

尽管刚才设置了代码高亮,但只是python语言的高亮(vscode不支持sage语言的高亮),所以只是部分高亮,涉及到sage的函数是不会高亮的。这是不如jupyternotebook的。

除此之外,渲染公式上还有一些问题。如果使用如下命令,试图使代码的输出为latex形式

%

这在jupyternotebook上是可以的,但是在vscode里无法渲染代码输出里的公式,所以输出什么也看不到。这时需要右键单击你在其他地方写的已渲染好的公式,然后Math Settings->Math Renderer->Common HTML,这以后代码输出里的公式又会被正常渲染了(还有一种方法,重启vscode)。但每次都需要如上操作,比较麻烦。所以对于sage来说jupyternotebook的体验还是要好于vscode。

参考

  1. ^https://ask.sagemath.org/question/43240/sagemath-and-vscode/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值