在服务器部署Jupyter Notebook

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。它的核心在于展示与快速迭代。

安装

一般通过两种方式来安装Jupyter Notebook,但由于Anaconda的易用性,一般推荐第一种方式。

  1. Anaconda。如果服务器已经安装了Anaconda作为Python的解释器,那么你不需要任何操作;
  2. pip3 install jupyter(或pip install jupyter),使用Python的包管理命令来安装最新版本。

部署

安装完成之后,简单几步即可完成Jupyter Notebook的部署。

  1. 创建一个主目录。mkdir /root/jpynotebook(目录名字可以随意,与后面配置文件中保持一致);
  2. 生成配置文件。jupyter-notebook --generate-config
  3. 生成密码。输入ipython打开iPython,输入:

    1
    2
    from notebook.auth import passwd
    passwd()

    之后两次输入密码则会自动生成以sha1:开头的密码hash值,复制出来后面填写;

  4. 修改配置文件。vim /root/.jupyter/jupyter_notebook_config.py,打开后在文件头插入:

    1
    2
    3
    4
    5
    6
    c.NotebookApp.ip='当前服务器IP'
    c.NotebookApp.password = u'sha1:......'
    c.NotebookApp.notebook_dir = u'/root/jpynotebook'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port = 8888
    c.NotebookApp.allow_root = True

    :wq保存退出;

  5. 使用nohup启动服务。nohup jupyter-notebook --config=/root/.jupyter/jupyter_notebook_config.py &
  6. 在浏览器输入http://服务器IP:8888即可访问。

Happy coding!

快捷键

Jupyter Notebook有两种不同的键盘输入模式。编辑模式允许您将代码或文本输入到一个单元格中,并通过一个绿色的单元格来表示;命令模式将键盘与笔记本级命令绑定在一起,并通过一个灰色的单元格边界显示,该边框为蓝色的左边框。
macOS为例。

命令模式(按下Esc,单元格为蓝色)

  • F:查找与替换;
  • ⌃↩︎:运行所选代码块(适用于编辑模式);
  • ⇧↩︎:运行所选代码块,并选中下一个代码块(适用于编辑模式);
  • ⌥↩︎:运行所选代码块,并在下面插入新的代码块(适用于编辑模式);
  • Y:将当前单元格切换为代码;
  • M:将当前单元格切换为标签(Markdown);
  • R:将当前单元格切换为Raw NBConvert。Raw NBConvert中的文字或代码等都不会被运行;
  • 1~6:将当前单元格切换为标题;
  • :选中上面的单元格;
  • :选中下面的单元格;
  • ⇧↑:扩选中上面的单元格;
  • ⇧↓:扩选中下面的单元格;
  • ⇧M:合并选中单元格;
  • A:在上面插入代码块;
  • B:在下面插入代码块;
  • X:剪切当前单元格;
  • C:复制当前单元格;
  • V:粘贴到下面;
  • ⇧V:粘贴到上面;
  • DD:删除当前单元格;
  • Z:撤销删除;
  • S:保存并检查;
  • L:显示行号与否;
  • ⇧L:所有单元格显示行号与否;
  • O:显示单元格的输出与否;
  • II:中断Jupyter服务;
  • 00:重启Jupyter服务。

编辑模式(按下↩︎,单元格为绿色)

  • :代码补全或缩进;
  • ⇧⇥:取消代码缩进;
  • ⌘A:全选;
  • ⌘Z:撤销;
  • ⌘⇧Z:重做;
  • ⌘S:保存并检查;
  • ⌘/:注释;
  • ⌘D:删除整行;
  • ⌥←:跳到单词左边;
  • ⌥→:跳到单词右边;
  • ⌥⌫:删除前面的单词;
  • ⌥⌦:删除后面的单词;
  • ⌘⌫:删除光标前面的所有;
  • ⌘⌦:删除光标后面的所有;
  • ⌃⇧-:在鼠标出分割代码块。