Jupyter.net:使用Jupyter进行交互式计算的Windows应用程序

624 篇文章 16 订阅
519 篇文章 54 订阅

目录

介绍

背景

安装Jupyter.net

使用Jupyter.net

应用架构概述


介绍

在本文中,我将介绍Jupyter.net:这是一个用C#编写的Windows独立应用程序,用于基于Jupyter框架进行交互式计算。它可以被视为Jupyter Notebooks的简化版本。

Jupyter框架主要包括:

  • 一种通信协议,用于与负责运行程序代码的内核进行通信,以及允许用户输入代码,查看结果,将代码保存在文件中的前端等。
  • Notebooks文件格式,用于在文件代码中存储执行结果,其他说明和元数据。这种格式的丰富结构允许甚至存储图像、声音和任何可能的信息。
  • Python kernel
  • Jupyter Notebooks:面向Jupyter的开源通用网络。可以将其视为官方” Jupyter GUI
  • JupyterLabJupyter Notebooks的更新和增强版本
  • Jupyter控制台:Jupyter的简单命令行前端

还有其他第三方Jupyter前端,例如:

  • Nteract:用于创建、编辑、执行Jupyter Notebooks的桌面通用桌面应用程序
  • CoCals:基于WebJupyter前端,专门从事数据科学
  • Spyder:基于Jupyter的数据科学桌面应用程序

Jupyter体系结构非常通用,并且将正确的内核与正确的前端结合在一起,可以用于多种多样的事物。Spyder是一个很好的例子,说明如何使用此体系结构创建强大的数据分析工具。

有适用于任何编程语言的内核(https://github.com/jupyter/jupyter/wiki/Jupyter-kernels),并且可用的前端通常足以在各种上下文中使用。但是,Jupyter.net可以用作创建更特定的GUI的基础。

背景

要使用Jupyer.net,最好具有Python的基本知识。要理解代码,您需要对C#和WPF有一定的了解。

安装Jupyter.net

该应用程序假定PythonJupyter框架已正确安装在您的计算机上。

您可以从此链接下载Python安装程序。在安装过程中,选择选项Python 3.X添加到PATH

安装Python之后,您可以通过在命令提示符处执行以下命令来安装Jupyter框架:python -m pip install jupyter

要测试Jupyter安装,可以运行命令jupyter console。命令行Jupyter解释器应该打开,它应该连接到Python内核并允许您执行Python代码。

正确安装PythonJupyter后,您只需下载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-ViewModelMVVM)模式。

该应用程序的主类是:

NotebookEditorVM:这是应用程序的主要视图模型。它包含当前Notebooks,用户可用的命令以及其他状态信息。

Mainwindow.xaml:这是应用程序的视图,用XAML编写,并使用数据绑定链接到视图模型NotebookEditorVM

JupyterClient是包含与内核通信的方法的类。

NotebookVM:这是打开Notebooks的视图模型。目前,一次只能打开一个Notebooks

NotebookVM转换Notebook类中包含的数据以便在ListBox对象中可视化。请注意,Notebook是分层对象,因为每个输入节点可以包含许多输出节点作为子节点。这个结构被NotebookVM扁平化为一个简单的节点列表,这些节点是以下CellVM子类的一个实例:

  • InputcellVM
  • TextCellVM
  • ImageCellVM

NotebookVMCellVM类也跟踪的单元执行状态。每个单元可以处于以下状态之一:

  • NotStarted
  • Running
  • Completed
  • Error
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值