Jupyter 笔记
为什么用 Jupyter
2 个同事的推荐:
一个刷了许多 MOOC 包括数据科学课的学霸直接推荐给我;
另一个录制数据科学课程的同事在视频中介绍 iPython Notebook 时,屏幕上显示的是 Jupyter 环境-
上 Jupyter 官网看看并尝试了下,发现似乎能满足需要:
- 这是个集成环境:你既可以通过写文字笔记,又能在笔记中嵌入代码及其运行结果,还可以直接在环境中进行命令行交互
- 支持超过 40 种数据科学相关的编程语言,例如 R/Python/Scala 等
- 支持 MathJax 渲染(也就是说 LaTex 公式可以渲染出来啦!从此机器学习相关的笔记要告别简书了……)
安装[1][2][3]
1. 安装 pip
对 Debian 系的环境,请在命令行中输入
$ sudo apt-get install python-pip
2. 安装依赖包需要的编译环境
对 Debian 系的环境,请在命令行中输入
$ apt-get install build-essential python-dev
3. 其他依赖包
使用 apt-get install
安装下述依赖包
- virtualenv (>=1.10); extra == 'testing'
- mock; extra == 'testing'
使用 pip install
安装下述依赖包
- scripttest (>=1.3); extra == 'testing'
- pytest; extra == 'testing'
- pretend; extra == 'testing'
4.安装 Jupyter
在命令行中输入下述命令,即可完成安装
$ sudo pip install jupyter
开始使用 Jupyter 写笔记
在终端输入下述命令即可打开 Jupyter Notebook:
$ jupyter notebook
屏幕正*是当前目录(你键入上述命令前所在目录,可通过 pwd
命令查看)的文件列表,点击右上方「New」可建立
- 文本文件(Text File)
- 文件夹(Folder)
- 命令行(Terminal)
- Notebook
选择 Notebook 即可建立一个新的笔记文件
新建文件后,屏幕分为 4 块,从上到下依次为:
- 标题栏:点击标题(例如 Untitled)可更改
- 菜单栏
- 工具栏
- 编辑区
菜单栏
- 保存完成后,请点击 File - Close and Halt 停止该笔记的运行并退出
工具栏
- 这里有一个下拉列表,可选择 Code/Markdown/Raw NBConvert/Heading,最常用的是前两项
编辑区
-
$$expression$$
会使 expression 强制独立一行,而$expression$
则不会
技巧们
如何在 ipython notebook 中同时可选择 py2/py3 而不用每次都修改 ~/.bash_profile
?
参考
http://*.com/questions/30492623/using-both-python-2-x-and-python-3-x-in-ipython-notebook
-
http://ipython.readthedocs.io/en/stable/install/kernel_install.html
$ conda create -n py2 python=2 $ source activate py2 # Win 下直接 activate py2,不用输入 source $ conda install notebook ipykernel $ ipython kernel install --user $ $ conda create -n py3 python=3 $ source activate py3 # Win 下直接 activate py3,不用输入 source $ conda install notebook ipykernel $ ipython kernel install --user
如何在云服务器上运行 jupyter notebook 并使用网址进行访问?
这个需求来源于我需要在亚马逊云服务(AWS)上搭建服务器以完成深度学习工作(众所周知,没有 GPU 提供的强大计算能力,跑模型那是慢得…)。
首先需要在云端安装好 jupyter notebook。接下来需要一些配置,主要内容来自官方文档,摘取如下:
- 命令行中运行
jupyter-notebook --generate-config
以生成配置文件jupyter_notebook_config.json
- 修改该文件的
c.NotebookApp.ip
属性为0.0.0.0
(搜索localhost
即可) - 运行
ipython
命令,在打开的 IPython shell 中,运行from notebook.auth import passwd
,然后执行passwd()
,键入你希望设置的登录密码(登录 notebook 用),然后会返回类似Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
的字样。复制整个字符串到配置文件中的c.NotebookApp.password
项目后,如:c.NotebookApp.password = u'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
- 修改配置文件中的
c.NotebookApp.open_browser
属性为c.NotebookApp.open_browser = False
- 此后你便可以在云端运行 jupyter notebook 服务了
同时,建议配合参数 --port=abcd
(其中 abcd
为你指定的端口号),以及配合终端会话管理器 tmux 使用。关于后者,除了阅读手册,还可阅读指南如[《Tmux - Linux从业者必备利器》] (http://cenalulu.github.io/linux/tmux/) 。