Jupyter Notebook科学计算领域必备的Python IDE
除了《Python IDE有哪些》一节介绍的几款 IDE 外,如果您未来想在科学计算领域(包括数据分析、数据可视化、机器学习等)深耕,有必要了解一下 Jupyter Notebook。
Jupyter Notebook是什么
Jupyter Notebook(简称 Jupyter)是一款 WEB 应用程序,需要在浏览器中打开使用。
按照 Jupyter 创始人的说法,起初他只想做一个综合 Ju(Julia)、Py(Python)和 R 三种科学运行语言的计算工具平台,所以将其命名为 Jupyter。发展到现在,Jupyter 已经成为了一个几乎支持所有语言,能够把软件代码、计算输出结果、解释文档、多媒体资源整合在一起的多功能科学运行平台。
可以看到,输入 Python 代码并点击 ▶ 运行按钮之后,程序下方就可以直接看到运行结果,还可以插入文字对程序做必要的说明。当然,这些功能还只是 Jupyter 的冰山一角。
从 2017 年开始,已经有大量的北美顶尖计算机课程开始用 Jupyter Notebook 作为教学工具。在 Facebook 中,几乎所有的中小型程序(比如内部的线下分析软件,机器学习模块的训练等)都是借助 Jupyter Notebook 来完成。此外在硅谷的一线大厂中,也全部使用 Jupyter Notebook(他们用的是改进定制型的Jupyter Notebook,名为 Google Colab)。
Jupyter Notebook的优势
如今的 Jupyter,已经成为科学计算领域的必备工具。和普通的 Python IDE 相比,Jupyter 有以下几大优势:
1) 整合了所有资源
在软件开发过程中,频繁地切换窗口会影响开发效率。举个例子,假设你需要切换窗口去看一些文档,再切换窗口去用另一个工具画图,不断地切换窗口就会成为影响效率的因素。
使用 Jupyter 就可以彻底解决这个问题,因为它已经将开发需要的所有资源整合到了一个地方,无需切换窗口就可以轻松找到。
2) 交互性编程体验
在机器学习和数据分析领域,Python 编程的实验性特别强,比如为了测试 100 种不同的方法,有时就需要将一小块代码重写 100 遍,在这种情况下,如果使用传统的 Python 开发流程,每一次测试都要将所有代码重新跑一遍,会花费开发者很多时间。
Jupyter Notebook 引进了 Cell 的概念。每次测试可以只跑一小块的代码,并且在代码下方立刻就能看到运行结果。
如此强的交互性,满足了 Python 程序员可以专注于问题本身,不会被频繁的工具链拖累,也不用在命令行之间来回切换,所有工作都能在 Jupyter Notebook 上完成。
3) 轻松运行他人编写的代码
还是在机器学习和数学分析领域,我们可能会借鉴他人分享的代码,如果拷贝过来的代码需要使用 pip 安装一大堆依赖库才能运行,就非常让人抓狂,而 Jupyter Notebook 可以解决此类问题。
Jupyter 官方的 Binder 平台以及 Google 提供的 Google Colab 环境,可以让 Jupyter Notebook 变得和 Google Doc 在线文档一样。比如用 Binder 打开一份 GitHub 上的 Jupyter Notebook 时,就不需要安装任何 Python 库,直接打开代码就能运行。
Jupyter Notebook的安装
关于 Jupyter,前面给大家介绍了这么多,接下来正式进入主题,教大家安装并使用 Jupyter。
安装 Jupter 常用的方法有两种,一种是用 pip(Python标准库提供的包管理工具)安装,过程繁琐,很容易出错,所以不推荐初学者使用;另一种是通过 Anaconda 来安装,操作简单,适合初学者,更重要的是,Anaconda 也是科学计算领域的必备工具之一,同时安装 Anaconda 和 Juputer 是一举两得的事情。
Anaconda 可以安装在多个平台上,包括 Windows、Linux 和 Mac OS X。Anaconda 官方分别提供了个人版、商业版、团队版和企业版这四种版本的 Anaconda,只有个人版是免费的。对于初学者而言,个人版完全够用,在 Anaconda 官网就可以找到对应平台的个人版安装包。
Anaconda 的安装过程非常简单,和安装 QQ、迅雷等软件的过程类似,网络上也有很多介绍安装过程的文章,这里不再截图演示。如图是笔者在 Windows10 环境中安装好的 Anaconda:
可以看到,Anaconda 会自动帮我们安装好 Jupyter Notebook,简直太方便了。
Jupyter Notebook基本用法
点击图 2 所示的 Juputer Notebook 可以启动 Jupyter,或者打开 Anaconda Navigator 也可以找到 Jupyter,两种方法都可以。
打开 Jupyter 之后,会在浏览器中弹出下图所示的页面,选择“Python 3(ipykernel)”就可以创建一个笔记本了。
新建的笔记本如图 1 所示,在工具栏的最右侧可以看到一个下拉列表,可以设定每个单元格的格式。默认情况下,单元格的格式为“代码”(或者“Code”),可以向单元格中输入 Python 程序,点击 ▶ 按钮就能运行。当单元格格式为“Markdown”时,可以向单元格中输入描述性文档。
读到这里,您已经学会用 Jupyter 运行一个简单的 Python 程序了。关于 Jupyter 更高级的用法,大家可以阅读 Jupyter官方使用文档,这里不再过多赘述。