读芯术:敲代码就像写小说?Jupyter让文学编程成为现实

全文共1670字 , 预计学习时长7分钟
读芯术:敲代码就像写小说?Jupyter让文学编程成为现实
文章图片
图源:datacamp
Notebooks一直是增进软件创意开发的工具 。 数据科学家用Jupyter记录他们的工作、探索和实验新算法 , 快速实践新方法并实时观察结果 。 当时机成熟时 , 软件开发人员就会用经典的IDE(集成开发环境) , 如VisualStudioCode和Pycharm , 来将创意实现为库和框架 。
那么 , 有没有一种方法可以将Jupyter转化成一个成熟的IDE , 将最初概念变成功能强大且可重用的模块呢?
为了解决这个问题 , 包括QuantStack、TwoSigma、Bloomberg和fast.ai在内的几家机构开发了两个新工具:在Jupyter中添加了nbdev和可视化调试器 。
读芯术:敲代码就像写小说?Jupyter让文学编程成为现实
文章图片
文学编程与nbdev1983年 , DonaldKnuth提出了一种新的编程范型 , 称为“文学编程” 。
他说文学编程是“一种将编程语言与文档语言相结合的方法 , 从而使编写的程序比只用高级语言编写的程序更强大、更便捷、更易维护 , 而且可以说更有趣 。 主要思想是把程序当作文学作品 , 用人的语言而不是计算机的” 。
读芯术:敲代码就像写小说?Jupyter让文学编程成为现实
文章图片
图源:unsplash
JeremyHoward和SylvainGugger对这个概念的设计非常着迷 , 去年年底他们推出了nbdev 。 该框架可以在熟悉的JupyterNotebook环境中编写代码 , 探索和实验不同的方法 , 直到找到问题的有效解决方案 。 然后通过使用某些关键词 , nbdev可以将实用功能提取到一个完整的python库中 。
确切来说 , nbdev通过添加以下支持来补充Jupyter:
·根据最佳实践 , 从notebook中自动创建python模块
·从代码中自动创建可搜索的超链接文档
【读芯术:敲代码就像写小说?Jupyter让文学编程成为现实】·将pip安装程序上传到PyPI
·在标准IDE中编辑和导航代码
·将所有更改同步回notebook
·测试
·连续集成
·处理版本控制冲突
nbdev使软件开发员和数据科学家能够在Jupyter环境中 , 根据最佳实践 , 开发完整的python库 。 nbdev设置于PyPI上 , 要进行安装只需运行:
pipinstallnbdev对于可编辑安装 , 请使用以下命令:
gitclonehttps://github.com/fastai/nbdevpipinstall-enbdev
读芯术:敲代码就像写小说?Jupyter让文学编程成为现实
文章图片
查缺补漏虽然nbdev涵盖了在Jupyter内部进行类似IDE开发所需的大部分工具 , 但仍然缺少一个部分:可视化调试器 。
读芯术:敲代码就像写小说?Jupyter让文学编程成为现实
文章图片
图源:unsplash
因此 , 由多家机构的开发人员组成的团队 , 近日首次公开发布了Jupyter可视化调试器 。 该调试器具有人们期望的IDE调试器的大部分功能:
·变量探测器、断点窗口列表和源预览
·显示当前执行已停止位置的标志
·可以浏览调用堆栈(下一行、插入、跳出等)
·可以在兴趣线旁边直接设置断点窗口
为了利用这个新工具 , 需要一个在后端实现Jupyter调试协议的内核 。 第一步是安装这样的内核 。 到目前为止唯一可以实现的是xeus-python 。 要进行安装 , 只需运行:
condainstallxeus-python-cconda-forge然后 , 运行JupyterLab , 在侧边列上搜索“扩展管理器”并启用(如果已经启用可以跳过这一步) 。
侧边列会出现一个新按钮 。 要安装调试器 , 只需转到新启用的“扩展管理器”按钮并搜索“调试器”扩展 。
读芯术:敲代码就像写小说?Jupyter让文学编程成为现实
文章图片
启用调试器
安装后 , JupyterLab将要求执行构建 , 以包含最新的更改 。 点击接受 , 几秒钟后 , 就可以运行了 。


推荐阅读