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
运行代码;按图示更改每个输入框的内容属性,选择Code
和Markdown
,写完内容点击运行就可以运行代码或转换Markdown文本。
常用快捷操作
Jupyter Notebook 有两种键盘输入模式。
编辑模式,允许你往单元中键入代码或文本;这时的单元框线是绿色的。
命令模式,键盘输入运行程序命令;这时的单元框线是灰色。
Shift+Enter
: 运行本单元,选中下个单元
Ctrl+Enter
: 运行本单元
Alt+Enter
: 运行本单元,在其下插入新单元
y
:单元转入代码状态
m
:单元转入markdown状态
a
:在上方插入新单元
b
:在下方插入新单元
x
:剪切选中的单元
Shift+V
:在上方粘贴单元
Jupyter小技巧
- 代码框输入
%load sxbd.py
就会加载之前写过的脚本 - 也可以加载在线代码
% load http://www.sxbd.com/sxbd.py
- 代码框输入
%run progam
即可运行写好的Python脚本(一般不写后缀) - 代码框输入
!bash command
可运行bash命令 -
%matplotlib inline
嵌入matplotlib的图像 -
%timeit python scripts
评估函数的运行时间和内存使用 -
%lsmagic
列出所有的magic函数 - 代码框开头输入
%%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
- https://github.com/ipython-contrib/jupyter_contrib_nbextensions#installation
- https://github.com/lambdalisue/jupyter-vim-binding/wiki/Installation
- Ovs+Dpdk简单实践
- Spark入门,概述,部署,以及学习(Spark是一种快速、通用、可扩展的大数据分析引擎)
- 创建基于MailKit和MimeKit的.NET基础邮件服务
- 把一个矩阵行优先展成一个向量,numpy.ravel() vs numpy.flatten()区别
- dataframe插入数据报错SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a
- python 对矩阵进行复制操作 np.repeat 与 np.tile区别
- python标准异常:中英文对比
- 激活windows10转到电脑设置的水印消失3种方法总结
- Android 运行时权限及APP适配
- python如何保存矩阵,保存matrix,保存numpy.ndarray
- SDP(12): MongoDB-Engine - Streaming
- .NET Core开源API网关 – Ocelot中文文档
- Selenium的使用方法简介
- 爬虫代理哪家强?十大付费代理详细对比评测出炉!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 计算机网络基础:这是一份详细HTTP学习指南
- Docker容器技术之Docker file
- 学会这15点,让你分分钟拿下Redis数据库
- 服务器性能指标——负载(Load)分析及问题排查
- 这20个Docker Command,有几个是你会的?
- Redis 备份、容灾及高可用实战
- 容器技术|Docker三剑客之Compose
- ProxySQL+Mysql实现数据库读写分离实战
- 打造高逼格、可视化的Docker容器监控系统平台
- 企业面试题|最常问的MySQL面试题集合(一)
- 深入理解消息中间件技术之RabbitMQ服务
- 手把手从0开始教你搭建Jumpserver,为服务器安全保驾护航!
- 企业面试题|最常问的MySQL面试题集合(二)
- 值得一看的35个Redis面试题总结
- 容器技术|Docker三剑客之docker-machine