目录
介绍
背景
安装Jupyter.net
使用Jupyter.net
应用架构概述
- 下载源92.9 KB
- 项目GitHub页面
在本文中,我将介绍Jupyter.net:这是一个用C#编写的Windows独立应用程序,用于基于Jupyter框架进行交互式计算。它可以被视为Jupyter Notebooks的简化版本。
Jupyter框架主要包括:
- 一种通信协议,用于与负责运行程序代码的内核进行通信,以及允许用户输入代码,查看结果,将代码保存在文件中的前端等。
- Notebooks文件格式,用于在文件代码中存储执行结果,其他说明和元数据。这种格式的丰富结构允许甚至存储图像、声音和任何可能的信息。
- Python kernel。
- Jupyter Notebooks:面向Jupyter的开源通用网络。可以将其视为“官方” Jupyter GUI。
- JupyterLab:Jupyter Notebooks的更新和增强版本
- Jupyter控制台:Jupyter的简单命令行前端
还有其他第三方Jupyter前端,例如:
- Nteract:用于创建、编辑、执行Jupyter Notebooks的桌面通用桌面应用程序
- CoCals:基于Web的Jupyter前端,专门从事数据科学
- Spyder:基于Jupyter的数据科学桌面应用程序
Jupyter体系结构非常通用,并且将正确的内核与正确的前端结合在一起,可以用于多种多样的事物。Spyder是一个很好的例子,说明如何使用此体系结构创建强大的数据分析工具。
有适用于任何编程语言的内核(https://github.com/jupyter/jupyter/wiki/Jupyter-kernels),并且可用的前端通常足以在各种上下文中使用。但是,Jupyter.net可以用作创建更特定的GUI的基础。
背景要使用Jupyer.net,最好具有Python的基本知识。要理解代码,您需要对C#和WPF有一定的了解。
安装Jupyter.net该应用程序假定Python和Jupyter框架已正确安装在您的计算机上。
您可以从此链接下载Python安装程序。在安装过程中,选择选项“将Python 3.X添加到PATH”。
安装Python之后,您可以通过在命令提示符处执行以下命令来安装Jupyter框架:python -m pip install jupyter。
要测试Jupyter安装,可以运行命令jupyter console。命令行Jupyter解释器应该打开,它应该连接到Python内核并允许您执行Python代码。
正确安装Python和Jupyter后,您只需下载JupyterNet.zip文件,解压缩并运行JupiterNet.exe即可。
使用Jupyter.net应用程序启动后,它将寻找Python内核并运行它。
如果应用程序无法找到Jupyter框架,它将要求python.exe的位置。如果您安装了多个Jupyter内核,则应用程序将要求选择一个。
初始化完成后,您将看到以下截图:
文字Python 3 | 状态栏上的Idle状态表示已成功启动Python内核。
然后,您可以在代码栏上输入任何代码,然后按Enter键执行它。如果按Alt + Enter,则代码将被解释为注释并插入到Notebooks中,但不会执行。
如果您需要输入多于一行的代码,可以按Multine模式按钮或按F3。
输入代码时,可以按Ctrl + Space来显示建议菜单,以完成当前语句。
如果要中断当前计算,请按“Interrupt”按钮。
要修改现有单元格,请双击它,或选择它并按“Edit”。
应用程序体系结构遵循Model-View-ViewModel(MVVM)模式。
该应用程序的主类是:
NotebookEditorVM:这是应用程序的主要视图模型。它包含当前Notebooks,用户可用的命令以及其他状态信息。
Mainwindow.xaml:这是应用程序的视图,用XAML编写,并使用数据绑定链接到视图模型NotebookEditorVM。
JupyterClient是包含与内核通信的方法的类。
NotebookVM:这是打开Notebooks的视图模型。目前,一次只能打开一个Notebooks。
NotebookVM转换Notebook类中包含的数据以便在ListBox对象中可视化。请注意,Notebook是分层对象,因为每个输入节点可以包含许多输出节点作为子节点。这个结构被NotebookVM “扁平化”为一个简单的节点列表,这些节点是以下CellVM子类的一个实例:
- InputcellVM
- TextCellVM
- ImageCellVM
在NotebookVM与CellVM类也跟踪的单元执行状态。每个单元可以处于以下状态之一:
- NotStarted
- Running
- Completed
- Error