MATLAB博客

给处于领先地位的人的实用建议

Jupyter官方MathWorks MATLAB内核发布

Jupyter笔记本允许用户以类似于我们自己的方式组合富文本、代码、数据和计算结果生活的脚本.然而,Jupyter支持一系列语言,金宝app包括Python, R,甚至编译语言,如c++和Fortran。它们被广泛应用于计算研究、探索和传播的许多领域。
在Jupyter项目被称为Jupyter之前,我就是它的粉丝和热情用户。所以,当我第一次加入MathWorks并认识产品管理和开发的每个人时,我对这里每个人的第一个问题是“我们什么时候才能更多地支持朱庇特?”金宝app
因此,我非常高兴地宣布答案是“现在!”截至1月27日星期五,MathWorks发布了一个更新版本jupyter-matlab-proxy to GitHub.这也是可在PyPI因此可以通过pip安装。
这个包已经有一段时间了,但在过去它只支持从JupyterHub这样的环境在浏览器中访问MATLAB的能力。金宝app有了新的更新,你现在也可以通过所谓的Jupyter笔记本运行MATLAB代码Jupyter的MATLAB内核.这是与jupyter相关的第一部分功能,这是我加入MathWorks以来一直想要的功能。
社区已经为MATLAB提供了一些内核支持(感谢Calysto),但有了这个版本金宝app,我们可以说MathWorks现在支持在Jupyter笔记本中使用MATLAB。

房间里的大象——不能在Windows上安装

在我深入研究已经做了什么之前,我想先了解一下还没有做什么,那就是Windows版本。这样做的原因是我们基于木星积分jupyter-server-proxy你可以从Windows支金宝app持·Issue #147·jupyterhub/jupyter-server-proxy·GitHub,目前不支持Windows。金宝app
这样做的实际含义是,您不能在Windows机器上安装MATLAB Jupyter内核,并让它使用本地Windows版本的MATLAB。
当然,由于Jupyter是一个基于web的系统,Windows用户将有很多方式来体验这个内核,因为它可以安装在远程服务器上。期望看到它出现在HPC集群和科学网关例如,在不久的将来。
也可以在一个集装箱码头工人并从Windows中使用它-这就是我如何审查这个包的早期版本。
我们目前正在评估在未来可能发布的集成版本中支持Windows安装的选项金宝app

安装内核

由于我的主要计算机运行Windows,所以我决定在运行Linux的AWS VM上启动MATLABMathWorks云中心.在写这篇文章的时候,这给了我一个新的Ubuntu 20.04安装和MATLAB R2022b。我安装木星实验室用的
PIP安装jupyterlab
然后安装MATLAB内核包用
PIP安装jupyter-matlab-proxy
因为这些都是在用户权限下运行的,所以所有的东西都安装在其中/home/ubuntu/.local/bin/不在系统路径上。我在.bashrc文件中添加了以下代码行,然后就可以开始了
导出路径= $路径:/ home / ubuntu。local / bin /

你在Jupyter实验室得到什么- MATLAB笔记本内核,基于浏览器的MATLAB版本和控制台

假设一切顺利,这就是你在运行Jupyter Lab时在浏览器中应该看到的内容
我想给你们看三样东西。
第一个是我们一直在等待的,一个Jupyter笔记本的MATLAB内核。点击它,你会得到一个运行MATLAB内核的新笔记本。下面是一个执行了一些命令的示例。
接下来是开放的MATLAB按钮。当我第一次看到这个,我以为它只是一个链接到我的本地MATLAB可执行文件。然而,令我高兴的是,我发现它启动了一个基于浏览器的MATLAB版本。这是一个类似的经历MATLAB在线但是在我的硬件上运行(或者如果您远程运行的话,您所连接的任何服务器的硬件)。
仔细观察工作区,您会发现这些就是我在上面的笔记本中创建的变量。也就是说,MATLAB的web版本和笔记本连接到同一个MATLAB实例。我可以在这两种环境中以任何我觉得最舒服的方式移动。
最后,我们有了控制台版的MATLAB内核。同样,它与其他两个视图连接到同一个MATLAB实例

许可

我第一次尝试在Jupyter笔记本上运行MATLAB命令时,弹出了授权对话框
我登录了与我的许可证相关联的MathWorks帐户,对话消失了,我可以按照您的期望继续进行。我只做过一次。即使当我的机器重新启动或重新启动Jupyter Lab时,我也没有再被授权所困扰。
这要求您拥有Jupyter集成支持的许可证,但并非所有许可证类型都支持。金宝app例如,在撰写本文时,不支持MATLAB Home。金宝app详细的许可信息,包括支持的许可类型,可以在金宝appjupyter-matlab-proxy / MATLAB-Licensing-Info。md at main·mathworks/jupyter-matlab-proxy·GitHub

Jupyter的MATLAB内核的一些特性

如果你以前使用过Jupyter笔记本,你会得到你所期望的。这是Jupyter,但是有MATLAB代码。在下面,您可以看到我运行了为什么在我得到我想要的东西之前,我命令了几次!
图形是内联呈现的,并且是静态的。
从符号工具箱返回的表达式使用LaTeX呈现
其他对象(如表和字典)的呈现方式与它们在MATLAB命令窗口中的显示方式类似。
还有制表符补全。例如,我输入',按下Tab键,就会看到下面的选择
随着时间的推移,将添加更多的内核特性。让我们知道你对什么感兴趣通过创建一个问题在这里,发送电子邮件至jupyter-金宝appsupport@mathworks.com或者在下面的评论部分讨论。

限制和一些你意想不到的事情

我已经谈到了最大的一个问题——目前没有Windows支持,但是如果你习惯了在其他语言中使用J金宝appupyter,还有一些其他的事情你可能想知道。
很多笔记本,但只有一个MATLAB -如果您使用过带有Python内核的Jupyter,那么您将习惯每个笔记本电脑都有自己的Python进程。对于这个MATLAB内核,您运行的所有笔记本都共享同一个MATLAB和同一个工作空间。
笔记本电脑目前不支持一些MATLAB命令金宝app.这些包括:
  • 向用户请求交互式用户输入的命令。例如:输入和键盘。
  • MATLAB调试器命令。例如:dbstep、dbup、dbstack。
  • 需要打开另一个浏览器选项卡的命令。例如:doc和appdesigner。
  • 创建动画的命令。例如:电影,共鸣。
  • 对于MATLAB R2022a及更早版本,LASTERR和LASTERROR不捕获MATLAB在笔记本中执行的错误。
  • 目前不支持本地授权的matlab。金宝app用户必须使用在线许可或网络许可管理器登录。

告诉我们你的想法

好了,结果出来了。快速浏览我们全新的Jupyter MATLAB内核的一些特性和限制。作为Jupyter生态系统的长金宝app期支持者和用户,我个人很高兴看到MathWorks这样做。
这是我们进入这个世界的第一步,我们打算做更多的事情。请在评论区告诉我们你的想法。如果遇到技术问题或有一个增强请求,请创建一个问题在这里或者发邮件给jupyter-金宝appsupport@mathworks.com。
|

评论

要发表评论,请点击此处登录到您的MathWorks帐户或创建一个新帐户。