读芯术:敲代码就像写小说?Jupyter让文学编程成为现实
全文共1670字 , 预计学习时长7分钟

文章图片
图源:datacamp
Notebooks一直是增进软件创意开发的工具 。 数据科学家用Jupyter记录他们的工作、探索和实验新算法 , 快速实践新方法并实时观察结果 。 当时机成熟时 , 软件开发人员就会用经典的IDE(集成开发环境) , 如VisualStudioCode和Pycharm , 来将创意实现为库和框架 。
那么 , 有没有一种方法可以将Jupyter转化成一个成熟的IDE , 将最初概念变成功能强大且可重用的模块呢?
为了解决这个问题 , 包括QuantStack、TwoSigma、Bloomberg和fast.ai在内的几家机构开发了两个新工具:在Jupyter中添加了nbdev和可视化调试器 。

文章图片
文学编程与nbdev1983年 , DonaldKnuth提出了一种新的编程范型 , 称为“文学编程” 。
他说文学编程是“一种将编程语言与文档语言相结合的方法 , 从而使编写的程序比只用高级语言编写的程序更强大、更便捷、更易维护 , 而且可以说更有趣 。 主要思想是把程序当作文学作品 , 用人的语言而不是计算机的” 。

文章图片
图源: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
文章图片
查缺补漏虽然nbdev涵盖了在Jupyter内部进行类似IDE开发所需的大部分工具 , 但仍然缺少一个部分:可视化调试器 。

文章图片
图源:unsplash
因此 , 由多家机构的开发人员组成的团队 , 近日首次公开发布了Jupyter可视化调试器 。 该调试器具有人们期望的IDE调试器的大部分功能:
·变量探测器、断点窗口列表和源预览
·显示当前执行已停止位置的标志
·可以浏览调用堆栈(下一行、插入、跳出等)
·可以在兴趣线旁边直接设置断点窗口
为了利用这个新工具 , 需要一个在后端实现Jupyter调试协议的内核 。 第一步是安装这样的内核 。 到目前为止唯一可以实现的是xeus-python 。 要进行安装 , 只需运行:
condainstallxeus-python-cconda-forge然后 , 运行JupyterLab , 在侧边列上搜索“扩展管理器”并启用(如果已经启用可以跳过这一步) 。
侧边列会出现一个新按钮 。 要安装调试器 , 只需转到新启用的“扩展管理器”按钮并搜索“调试器”扩展 。

文章图片
启用调试器
安装后 , JupyterLab将要求执行构建 , 以包含最新的更改 。 点击接受 , 几秒钟后 , 就可以运行了 。
推荐阅读
- 青铜财识605代码首次使用,5月11日新股申购;威奥股份
- 威奥股份5月11日新股申购;威奥股份 605代码首次使用
- 代码漏洞、黑客、市场波动、套利者:DeFi 风险管理的范式 | 火星号精选
- 凤凰网辽宁综合HW行动:围追“恶意代码” 制止勒索病毒
- HW行动:围追“恶意代码” 制止勒索病毒
- 指尖上的代码如何学习IT这门技术?
- 一部手机,万物皆可复制粘贴,这位兼职写代码设计师将AR玩出新高度
- 《应用软件安全编程指南》国标发布 奇安信代码卫士参与标准制定
- 设计如何干掉开发人员——0代码开发
- 炉石小天【炉石传说】奥秘法终结者卡组解说or代码
