多语言笔记系列之开开遍:Polyglot Notebooks 概述
Polyglot Notebooks 是什么
什么是 Notebook
Notebook(笔记)是一种混合格式化文本
和可执行代码
,创建具有可运行示例
的特殊文档程序。Notebook 由多个单元格组成,它们是不同的文本区域。通常有三种:
- 代码单元:包含可运行的代码
- 输出单元格:包含上次执行关联代码单元格的结果
- Markdown 单元格:用于编辑和显示格式丰富(但静态)的文本,包括超链接、图像、图表等
Jupyter 是 Notebook 技术的代表,它已经从科学和学术环境的起源发展成为数据分析和数据科学行业的中流砥柱。
什么是 Polyglot Notebooks
Polyglot Notebooks 之前叫 .NET Interactive
简言之,Polyglot Notebooks 就是可以混合使用多种语言的 notebook 即多语言笔记, 支持混合使用以下语言:
体系架构
大体上由三部分组成:前端UI(Jupyter、VSCode等)、交互协议(PMP、JMP)、执行器(.net interactive)和语言服务,如下图:
使用 Polyglot Notebooks(多语言笔记)
方式一:VS Code
+ Polyglot Notebooks 插件
+ .NET7
-
下载安装 .NET SDK 7
-
下载 VS Code
-
安装 VS Code 插件
Polyglot Notebooks
-
打开VS, 打开一个目录。
-
新建一个笔记本文件:ctl+Shift+p create: new Jupyter Notebook 如图:
-
示例
方式二:与 Jupyter
结合, 直接在 Juptye
中使用
将 .NET Interactive 注册为 Jupyter 的内核, 在 Jupyter Notebook、JupyterLab 和其他 Jupyter 前端中将 .NET Interactive 内核用于多语言笔记本,使Jupyter Notebook、JupyterLab等直接支持 C# F# Powershell 语言类型。
步骤:
- .Net 7 SDK
- Jupyter 安装Jupyter的一个简单方法是通过 Anaconda
- 可以通过打开 Anaconda 提示符 (Windows) 或终端(macOS、Linux)并运行以下命令来验证安装,以确保 Jupyter 和 .NET 已安装并存在于路径上:
jupyter kernelspec list 输出类似:python3 ~\jupyter\kernels\python3 dotnet --version 输出类似:7.0.200
- 在控制台中,安装全局工具:dotnet interactive
dotnet tool install -g Microsoft.dotnet-interactive
- 切换回 Anaconda 提示符并通过运行以下命令安装 .NET Interactive:dotnet interactive jupyter install
> dotnet interactive jupyter install Installing using jupyter kernelspec module. Installed ".NET (C#)" kernel. Installing using jupyter kernelspec module. Installed ".NET (F#)" kernel. Installing using jupyter kernelspec module. Installed ".NET (PowerShell)" kernel.
- 可以通过在 Anaconda 提示符中再次运行以下命令来验证安装。现在,应会看到每种默认支持的 .NET 语言的条目:kernelspec
> jupyter kernelspec list .net-csharp ~\jupyter\kernels\.net-csharp .net-fsharp ~\jupyter\kernels\.net-fsharp .net-powershell ~\jupyter\kernels\.net-powershell python3 ~\jupyter\kernels\python3
更新 .net interactive
- 打开控制台并运行以下代码:
> dotnet tool update -g Microsoft.dotnet-interactive ```运行 .NET Interactive的 Jupyter
- 启动 Jupyter:执行 Anaconda 提示符或从 Anaconda 提示符执行,或者你可以使用 Anaconda Navigator启动 jupyter 或者 labjupyter notebook
- 在浏览器中启动 Jupyter 后,可以选择使用 C#、F# 或 PowerShell 创建笔记本,如图:
方式三:NET Repl
+ Notebooks文件
使用Net Repl交互式执行或者直接执行Notebooks文件
步骤:
-
安装 .net tool 全局工具 dotnet-repl 如图:
-
启动dotnet repl, 如图:
-
执行一个现有的笔记本文件,如图: