通过 Jupyter 使用实时代码、方程式和可视化及文本创建交互式的共享笔记本。
自从有了纸莎草纸以来,出版人们一直在努力以吸引读者的方式来格式化数据。尤其是在数学、科学、和编程领域,设计良好的图表、插图和方程式可以成为帮助人们理解技术信息的关键。
Jupyter Notebook 通过重新构想我们如何制作教学文本来解决这个问题。Jupyter (我在 2017 年 10 月在 All Things Open 上首次了解到)是一款开源应用程序,它使用户能够创建包含实时代码、方程式、可视化和文本的交互式共享笔记本。
Jupyter 从 IPython 项目发展而来,它是个具有交互式 shell 和基于浏览器的笔记本,支持代码、文本和数学表达式。Jupyter 支持超过 40 种编程语言,包括 Python、R 和 Julia,其代码可以导出为 HTML、LaTeX、PDF、图像和视频,或者作为 IPyhton 笔记本与其他用户共享。
一个有趣的事实是:“Jupyter” 是 “Julia、Python 和 R” 的缩写。
根据 Jupyter 项目网站介绍,它的一些用途包括“数据清理和转换,数值模拟,统计建模,数据可视化,机器学习等等”。科学机构正在使用 Jupyter Notebooks 来解释研究结果。代码可以来自实际数据,可以调整和重新调整以可视化成不同的结果和情景。通过这种方式,Jupyter Notebooks 变成了生动的文本和报告。
安装并开始 Jupyter
Jupyter 软件是开源的,其授权于修改过的 BSD 许可证,它可以安装在 Linux、MacOS 或 Windows 上。有很多种方法可以安装 Jupyter;我在 Linux 和 MacOS 上试过 PIP 和 Anaconda 安装方式。PIP 安装要求你的计算机上已经安装了 Python;Jupyter 推荐 Python 3。
由于 Python 3 已经安装在我的电脑上,我通过在终端(在 Linux 或 Mac 上)运行以下命令来安装 Jupyter:
$ python3 -m pip install --upgrade pip
$ python3 -m pip install jupyter
在终端提示符输入以下命令立即启动应用程序:
$ jupyter notebook
很快,我的浏览器打开并显示了我在 http://localhost:8888
的 Jupyter Notebook 服务器。(支持的浏览器有 Google Chrome、Firefox 和 Safari)
在右上角有一个标有 “New” 的下拉菜单,它使我能够根据自己的指示和代码快速创建新的笔记本。请注意,我的新笔记本默认为 Python 3,这是我目前的环境。
一个带有一些默认值的新笔记本,它可以被改变(包括笔记本的名字),已打开。
笔记本有两种不同的模式:“命令模式”和“编辑模式”。命令模式允许你添加或删除单元格。你可以通过按下 Escape
键进入命令模式,按 Enter
键或单击单元格进入编辑模式。
单元格周围的绿色高亮显示你处于编辑模式,蓝色高亮显示你处于命令模式。以下笔记本处于命令模式并准备好执行单元中的 Python 代码。注意,我已将笔记本的名称更改为 “First Notebook”。
使用 Jupyter
Jupyter Notebooks 的强大之处在于除了能够输入代码之外,你还可以用 Markdown 添加叙述性和解释性文本。我想添加一个标题,所以我在代码上面添加了一个单元格,并以 Markdown 输入了一个标题。当我按下 Ctrl+Enter
时,我的标题转换为 HTML。(LCTT 译注:或者可以按下 Run 按钮。)
我可以通过在命令前追加 !
来添加 Bash 命令或脚本的输出。
我也可以利用 IPython 的 line magic 和 cell magic 命令。你可以通过在代码单元内附加 %
或 %%
符号来列出魔术命令。例如,%lsmagic
将输出所有可用于 Jupyter notebooks 的魔法命令。
这些魔术命令的例子包括 %pwd
——它输出当前工作目录(例如 /Users/YourName
)和 %ls
——它列出当前工作目录中的所有文件和子目录。另一个神奇命令显示从笔记本中的 matplotlib
生成的图表。%%html
将该单元格中的任何内容呈现为 HTML,这对嵌入视频和链接很有用,还有 JavaScript 和 Bash 的单元魔术命令。
如果你需要更多关于使用 Jupyter Notebooks 和它的特性的信息,它的帮助部分是非常完整的。
人们用许多有趣的方式使用 Jupyter Notebooks;你可以在这个展示栏目里找到一些很好的例子。你如何使用 Jupyter 笔记本?请在下面的评论中分享你的想法。
via: https://opensource.com/article/18/3/getting-started-jupyter-notebooks
作者:Don Watkins 选题:lujun9972 译者:MjSeven 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出