1 安装 Jupyter Notebook
Jupyter Notebook 简介
Jupyter Notebook 是一个开源的 Web 应用程序,可以用来创建和共享包含动态代码、方程式、可视化及解释性文本的文档。
其应用于包括:数据整理与转换,数值模拟,统计建模,机器学习等等。
详情可以访问Jupyter官网
检查 Python 环境
CentOS 7.2 中默认集成了 Python 2.7,可以通过下面命令检查 Python 版本:
python --version
安装 pip
pip 是一个 Python 包管理工具,我们使用 yum 命令来安装该工具:
yum -y install python-pip
使用下面命令升级 pip 到最新版本:
pip install --upgrade pip
比如慢成我这样升级也许会比较慢,如果超时再执行一遍
安装相关依赖
安装 Jupyter 过程中还需要其他一些依赖,我们使用以下命令安装他们:
yum -y groupinstall "Development Tools"
yum -y install python-devel
配置虚拟环境
安装 virtualenv
我们将为 Jupyter 创建一个独立的虚拟环境,与系统自带的 Python 隔离开来。为此,先安装 virtualenv 库:
pip install virtualenv
创建虚拟环境
创建一个专门的虚拟环境,并直接激活进入该环境:
virtualenv venvsource
venv/bin/activate
使用 pip 安装 Jupyter
我们使用 pip 命令安装 Jupyter:
pip install jupyter
如果安装慢的话,可以使用豆瓣源,使用方法
python的支持包最好用豆瓣源来下载,不要问为什么,就是快
配置 Jupyter Notebook
建立项目目录
我们先为 Jupyter 相关文件准备一个目录:
mkdir /data/jupytercd /data/jupyter
再建立一个目录作为 Jupyter 运行的根目录:
mkdir /data/jupyter/root
准备密码密文
由于我们将以需要密码验证的模式启动 Jupyter,所以我们要预先生成所需的密码对应的密文。
生成密文
使用下面的命令,创建一个密文的密码:
python -c "import IPython;print IPython.lib.passwd()"
执行后需要输入并确认密码,然后程序会返回一个 'sha1:...'
的密文,我们接下来将会用到它。
修改配置
生成配置文件
我们使用 --generate-config
来参数生成默认配置文件:
jupyter notebook --generate-config --allow-root
生成的配置文件在 /root/.jupyter/
目录下,可以点此编辑配置。
修改配置
然后在配置文件最下方加入以下配置:
c.NotebookApp.allow_root = True
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
c.NotebookApp.password = u'刚才生成的密文(sha:...)'
c.ContentsManager.root_dir = '/data/jupyter/root'
其中:
c.NotebookApp.password
请将上一步中密文填入此项,包括 sha: 部分,包括 sha: 部分,包括 sha: 部分!。
你也可以直接配置或使用 Nginx 将服务代理到 80 或 443 端口。
启动 Jupyter Notebook
直接启动
使用以下指令启动 Jupyter Notebook:
jupyter notebook
此时,访问 http://你的ip:8888 即可进入 Jupyter 首页。
创建 Notebook
进入【首页】
首先需要输入前面步骤中设置的密码。
然后点击右侧的【 new 】,选择 Python2 新建一个 notebook,这时跳转至编辑界面。
现在我们可以看到 /data/jupyter/root/ 目录中出现了一个 Untitled.ipynb
文件,这就是我们刚刚新建的 Notebook 文件。我们建立的所有 Notebook
都将默认以该类型的文件格式保存。
后台运行
直接以
jupyter notebook
命令启动 Jupyter 的方式在连接断开时将会中断,所以我们需要让 Jupyter 服务在后台常驻。
先按下
Ctrl + C
并输入 y
停止 Jupyter 服务,然后执行以下命令:
nohup jupyter notebook > /data/jupyter/jupyter.log 2>&1 &
该命令将使得 Jupyter 在后台运行,并将日志写在
/data/jupyter/jupyter.log
文件中。
准备后续步骤的 Notebook
为了后面实验中实验室的步骤检查器能够更好的工作,此时我们使用以下命令预先创建几份 ipynb 文件:
cd /data/jupyter/rootcp Untitled.ipynb first.ipynbcp Untitled.ipynb matplotlib.ipynbcp Untitled.ipynb tensorflow.ipynbrm -f Untitled.ipynb
手工创建文件
使用 Jupyter Notebook
打开你的first.ipynb文件页面
http://本机IP:8888/notebooks/first.ipynb
Jupyter Notebook 的编辑界面主要由 工具栏
和 内容编辑区
构成。
下方编辑区,由 Cell
组成。每个 notebook 由多个 Cell
构成,每个 Cell
都可以有不同的用途。
Code Cell
新建的 notebook 中包含一个代码 Cell(Code Cell),以 [ ] 开头,在该类型的 Cell 中,可以输入任意代码并执行。如输入:
1 + 1
然后按下 Shift + Enter 键, Cell 中代码就会被执行,光标也会移动至下个新 Cell 中。我们接着输入:
print('Hello Jupyter')
再次按下 Shift + Enter ,可以看到这次没有出现 Out[..] 这样的文字。这是因为我们只打印出来了某些值,而没有返回任何的值。
按下 Ctrl + S 保存,等待步骤检查器确认。
Heading Cell
新版本中已经没有独立的 Heading Cell
,现在标题被整合在 Markdown Cell
之中。
如果我们想在顶部添加一个的标题。选中第一个 Cell,然后点击 Insert -> Insert Cell Above。
你会发现,文档顶部马上就出现了一个新的 Cell。点击在工具栏中 Cell 类型(默认为 Code),将其变成 Markdown。接着在 Cell 中写下:
My First Notebook
然后按下 Shift + Enter
键,便可以看到生成了一行一级标题。
与 Markdown 语法相同,使用多个#
将改变标题级别。
下一步
Markdown Cell
上一步中我们已经尝试了使用了 Markdown Cell
。在该 Cell 中,除标题外其他语法同样支持。比如,我们在一个新的 Cell 中插入以下文本:
| Name | Value |
|:----:|:-----:|
| A | 1 |
| B | 2 |
| C | 3 |
然后按下 Shift + Enter
,即可渲染出相应内容。
高级用法 - HTML
Markdown Cell
中同样接受 HTML 代码。这样,你就可以实现更加丰富的样式及结构、添加图片等等。
例如,如果想在 notebook 中添加 Jupyter 的 logo,并且添加 2px 的黑色边框,放置在单元格左侧,可以这样编写:
然后按下 Shift + Enter
,即可渲染出图片。
高级用法 - LaTex
Markdown Cell 还支持 LaTex 语法。在 Cell 中插入以下文本:
$$int_0^{+infty} x^2 dx$$
同样按下 Shift + Enter
,即可渲染出公式。
网友评论