Python文学化编程 - Jupyter notebook使用和插件拓展

时间:2022-04-26
本文章向大家介绍Python文学化编程 - Jupyter notebook使用和插件拓展,主要内容包括Jupyter小技巧、Jupyter插件安装、服务器端使用、References、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

Jupyter notebook (Ipython notebook)是集代码、结果、文档三位一体的文学化可重复程序文档。支持40多种程序语言,Python为原生语言。如果安装了Anaconda,就会自动包含。Anaconda的安装见之前的文档Linux学习 - Conda软件安装方法

其界面如下:点击右侧的New-Python3就可以新建一个notebook。

这是一个Notebook的界面,鼠标点击即可写代码;点击run cell运行代码;按图示更改每个输入框的内容属性,选择CodeMarkdown,写完内容点击运行就可以运行代码或转换Markdown文本。

常用快捷操作

Jupyter Notebook 有两种键盘输入模式。

编辑模式,允许你往单元中键入代码或文本;这时的单元框线是绿色的。

命令模式,键盘输入运行程序命令;这时的单元框线是灰色。

Shift+Enter: 运行本单元,选中下个单元

Ctrl+Enter: 运行本单元

Alt+Enter: 运行本单元,在其下插入新单元

y:单元转入代码状态

m:单元转入markdown状态

a :在上方插入新单元

b:在下方插入新单元

x:剪切选中的单元

Shift+V:在上方粘贴单元

Jupyter小技巧

  1. 代码框输入%load sxbd.py就会加载之前写过的脚本
  2. 也可以加载在线代码 % load http://www.sxbd.com/sxbd.py
  3. 代码框输入%run progam即可运行写好的Python脚本(一般不写后缀)
  4. 代码框输入!bash command可运行bash命令
  5. %matplotlib inline嵌入matplotlib的图像
  6. %timeit python scripts评估函数的运行时间和内存使用
  7. %lsmagic列出所有的magic函数
  8. 代码框开头输入%%writefile sxbd.py即可把当前cell的命令存到对应文件 更多Magic见 http://nbviewer.jupyter.org/github/ipython/ipython/blob/1.x/examples/notebooks/Cell%20Magics.ipynb#The-cell-magics-in-IPython

Jupyter插件安装

  • 安装时先关闭Jupyter程序
  • 安装Jupyter插件管理工具 conda install -c conda-forge jupyter_contrib_nbextensions
  • 激活Jupyter插件管理工具 jupyter nbextensions_configurator enable --user
  • 安装jupyter-vim-binding # You may need the following to create the directoy # 一般是家目录下的 ~/.local/share/jupyter/nbextensions mkdir -p $(jupyter --data-dir)/nbextensions # Now clone the repository cd $(jupyter --data-dir)/nbextensions git clone https://github.com/lambdalisue/jupyter-vim-binding vim_binding chmod -R go-w vim_binding
  • 激活jupyter-vim-binding 启动Jupyter notebook, 进入http://localhost:8888/nbextensions/,激活插件

每个插件点击可查看其功能描述,使用方式,批量gif演示插件功能。常用的有选择多个Jupyer cell用于复制粘贴,代码自动补全,代码格式美化,py2转py3,标示最大代码长度等,支持VIM模式。

服务器端使用

jupyter notebook --no-browser -y即可启动,访问IP:8888即可。

References

  1. https://github.com/ipython-contrib/jupyter_contrib_nbextensions#installation
  2. https://github.com/lambdalisue/jupyter-vim-binding/wiki/Installation