利用Jupyter Notebook打造go及python交互式编程环境
先说说Jupyter Notebook
Jupyter Notebook既是一款笔记应用,又是一款交互式编程工具,号称支持运行40种编程语言。之前受李笑来在GitHub上的项目–自学是一门艺术影响,下过一次,玩了玩,不过当时鲁钝,并未识得其好。近来,突然醒悟,这真是一款学习编程的好工具。
比如python。单纯用命令行python解释器的话,无法实现命令补全,用IPython的话,虽然能实现命令补全,但是笔记又得借助其他软件,二者是割裂的,下次想修改那段代码,想看效果,你又得拷到IPython中。
那么IDE怎么样呢?确实能实现实时查看代码执行效果,可以利用注释做笔记,但是当你的代码量变多了,而你只是想运行其中一部分代码的时候,你是注释其他代码还是另起一个新文件呢?而且IDE一般都很臃肿,打开速度都挺慢。综合以上,关于代码的学习笔记,我都选择用Jupyter。
以上是我近期使用Jupyter得来的一点浅识。看看大佬怎么说的。
从2017年开始,已有大量的北美顶尖计算机课程,开始完全使用Jupyter Notebook作为工具。比如李⻜⻜的CS231N《计算机视觉与神经网络》课程,在16年时作业还是命令行Python的形式,但是17年的作业就全部在Jupyter Notebook上完成了。再如UC Berkeley的《数据科学基础》课程,从17年起,所有作业也全部用 Jupyter Notebook完成。
而Jupyter Notebook 在工业界的影响力更甚。在Facebook,虽然大规模的后台开发仍然借助于功能⻬全的IDE,但是几乎所有的中小型程序,比如内部的一些线下分析软件,机器学习模块的训练都是借助于Jupyter Notebook完成的。据我了解,在别的硅谷一线大厂,例如Google的AI Research部⻔Google Brain,也是清一色地全部使用Jupyter Notebook,虽然用的是他们自己的改进定制版,叫 Google Colab。
以上两段文字引自Fackbook资深工程师景霄在极客时间上的课程《Python核心技术与实战–02讲JupyterNotebook为什么是现代Python的必学技术》。下面这个图片中的代码同样引自该课程。
总之,知道Jupyter Notebook真的很方便很实用就行了。下面总结下如何在Jupyter Notebook上安装python内核与go内核。如下操作均是在macOS系统上操作完成。
python交互式编程
Jupyter本来就是因为python而诞生的,所以搞python内核很容易。如果你之前装了IPython,直接下载jupyter就行了。
|
|
执行启动命令后,会自动打开你的浏览器,本地链接为:http://localhost:8888/tree,你也可以在启动时使用 --port
指定端口
使用起来很简单,就不做过多介绍了。文件后缀为ipynb
,你可以使用git管理你的笔记,上传到远程仓库GitHub上,可以直接渲染该文件。
golang交互式编程
go内核的安装稍微麻烦点。
|
|
好了,你可以在Jupter上愉快地玩go了。以上操作基于Mac,其他操作系统的安装可以参考官方文档