• 欢迎访问小杰博客网站
  • 欢迎访问小杰博客网站哦

Jupyter Notebook简介和配置说明

linux 小杰 5年前 (2018-09-24) 8313次浏览 已收录 0个评论

学习Python的时候,为了快速验证我们学习的知识点,可以用Python自带的python命令进入REPL交互界面,输入Python语句。但实在不方便:

  1. 命令行环境,输错了一句就要重来(比如def一个函数)
  2. 如果某段逻辑写的有误,需要重新执行一遍所有代码。

所以代码长了,我们写成.py文件执行,但还是不得劲儿。

ipython倒是一个很不错的REPL,除了像python命令一样可以执行Python语句外,还会保留每一步输出,也是很多书籍和教程里面使用的工具,但还不够好。

直到我发现了jupyter notebook神器:http://jupyter.org/ ,它几乎满足了我所有的幻想!

如果用一句话描述,那就是:jupyter notebook就像一张“草稿纸”一样

它的样子是这样的:
jupyter notebook snapshot

它可以记录你的所有命令和输出结果,每个命令都可以方便修改执行;整个“演算过程”可以直接保存成一个.ipynb文件,直接分享给另一个有jupyter环境的用户完整再现你的演算过程

1. 支持markdown

原生支持markdown语法,这在演算或写教程的时候特别有用:代码和文档混合在一起:

  1. 方便的文档混写
  2. 方便的代码编辑

并且,由于是图形环境,对诸如matplolib等图表工具的支持良好,几乎可以当做“免费版matlab使用”

2. 丰富的内核(kernel)扩展

这还没完,除原生支持Python外,jupyter还可以通过扩展“内核(kernel)”支持你能想到的任何绝大多数语言,到Jupyter kernels上,可以查看其支持的语言列表,俨然成了一个生态,比如知名的有:

  1. JavaScript
  2. Haskell
  3. Ruby
  4. Go
  5. Scala
  6. PHP

3. GitHub支持其文件格式

jupyter生成的文件,github也直接支持预览,这一点也很赞。

4. 在线尝试jupyter

想尝试的话,可以通过以下途径:

  • 官方demo

在上面测试:https://try.jupyter.org/

  • 量化投资平台

另外,很多量化投资平台,也都是基于jupyter notebook搭建的,大家在上面写量化策略的
Python代码,进行策略验证。比如国内知名的:

5. 配置jupyter notebook

  • 第一次启动jupyter

安装完毕后,执行jupyter notebook,即可快速启动jupyter,一般直接会弹出个浏览器页面,地址类似:

http://localhost:8888/?token=1bba445e9540f7d40e99e9e3b59dfe78212adfba0d6ae329

token是临时生成的字符串,可以直接登录进入。然而这种方式并不方便:

  1. 没有固定的登录密码
  2. 几乎没有配置(当然可以输入到命令行参数,但每次启动都要输入,太麻烦)

就像你想到的那样,肯定有配置文件。

  • 添加配置文件

执行命令

按照国际惯例,该命令会在用户目录下创建一个配置目录,名字就像你猜的一样,就是.jupyter,目录里会看到一个jupyter_notebook_config.py的配置文件。

  • 编辑配置文件

主要的配置项:

如果要去远程可访问,还要打开ip限制(默认jupyter notebook只能本机访问):

  • 密码生成

需要注意的是,上面的c.NotebookApp.password配置的并非明文密码,按照配置文件上的注释步骤生成:

  1. 在命令行下输入ipython,进入REPL环境
  2. 执行:from notebook.auth import passwd;passwd()
  3. 根据提示输入明文密码
  4. 生成hash后的密码类似如下:

将sha1开头的一串字符,拷贝到c.NotebookApp.password字段即可。这样再次启动jupyter时,就有了密码输入界面。

6. 总结

以上就是jupyter notebook的简介,非常推荐。什么?没安装指南?这还要问,自己到官网上看啊!


小杰博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Jupyter Notebook简介和配置说明
喜欢 (2)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址