Jupyter 实用篇
强在哪里
Jupyter Notebook,是IPython的加强网页版,生成.ipynb
格式文件(ipynb = ipython 牛B~)当然也可以导出其他格式的文件。
一般用pycharm来编辑,Jupyter Notebook可以探索性的跑代码,可以在网页页面中直接编写代码和运行代码,运行结果也会直接在代码块下显示,一个cell一个cell跑代码。也可以增加markdown笔记,比ipython更直观。
启动
启动方法
安装anaconda之后,jupyter notebook就会安装,进入指定目录终端输入
jupyter notebook
浏览器就跳出来了,如果出不来也可以进入本地notebook的默认URL:http://localhost:8888,终端保持不要关闭。
显示页面
上方会有五个框,Files,Running,Clusters(不重要),Conda,Nbextension
Files
文件目录,表示当前目录文件,点击具体.ipynb
文件就可以点开执行
Running
当前打开的文件或者终端,可以停止正在运行的文件
Conda
这是关联conda环境和包,需要在终端通过conda install nb_conda
安装,安装之后
运行具体文件的时候,可以选择每个环境的kernel
如果找不到需要的环境,可能当前环境没有安装ipykernel,在环境下输入 conda install ipykernel
即可。
【建议】终端先进入激活环境,再进入jupyter notebook,这样就确保在这个环境下运行了,这样比较容易,可以直接跑了,不用换kernel
source activate tf2
jupyter notebook
Nbextension
这是jupyter notebook的拓展功能,需要先安装,非常强大
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
安装之后,点击对应的勾就可以安装,具体插件功能后续会提到
基本介绍
新建
页面右侧new
点进去,就可以新建文件/终端,终端操作就不说了,主要讲解对文件的操作
Cell操作
一对输入输出会话被视作一个cell单元,cell行号前[ * ]表示代码正在运行,数字表示运行顺序,空着表示没运行
编辑&命令模式
Jupyter支持两种模式,有点类似与vim,但是比vim简单很多
-
编辑模式(Enter)
- 命令模式下
回车Enter
或鼠标双击
cell进入,看到光标闪烁,绿色框 - 可以操作cell内文本或代码
- 命令模式下
-
命令模式(Esc)
- 按
Esc
或点击左侧
退出编辑,进入命令模式,没有光标闪烁,蓝色框 - 可以操作cell单元本身
- 按
Code&markdown模式
每一个cell支持code模式或者markdown模式,code就是写python代码,markdown就是写笔记,支持markdowm语法。
运行之后,就是这样:
操作方法
鼠标操作
上面整个工具栏可以用鼠标操作
键盘操作
键盘操作可以说是很方便了,一定要看清cell框的颜色,确定操作方法
- 命令编辑模式通用:
Shift+Enter
,执行本单元代码,并跳转到下一单元Ctrl+Enter
,执行本单元代码,留在本单元
- 命令模式(
ESC
进入):Y
:切换到Code模式M
:切换到Markdown模式A
:上方添加cellB
:下方添加cellF
:查找和替换C
:复制X
:剪切V
:粘贴至下一行DD
:删除cellZ
:撤销S
:保存shift + 向上/向下箭头
:选中cellshift + M
:合并选中单元格,若只选中一个则与下一个单元格合并
- 编辑模式(
Enter
进入)Tab
:补全代码,变量、方法后跟Tab键
Ctrl+/
:为一行或多行代码添加/取消注释Ctrl+Z
:撤销Ctrl+Y
:取消撤销
拓展操作
主要看一下这些插件的操作,写代码很方便
代码高亮
选中代码高亮,看代码方便了不少
代码行号
可以在命令模式下,按 L
显示/取消显示行号,或者通过鼠标点击,有了行号看着舒服多了。
目录索引
可以将markdowm的不同级别标体的目录索引出来,这样写看起来很清楚,这块代码显示啥~文本和代码结合的更好了。
代码补全
虽然说jupyter notebook也支持tab
补全,但是这个插件对于我这个打代码经常错或者忘记的人还是友好的
自动pep8
pep8就是python格式要求的,什么不同函数之间空两行之类的,虽然不影响执行,但是会更好看规范。点下小锤子,就可以调整。
小贴士
导入/导出python文件
导出
导出为.py
文件,markdown自动变为注释
导入
只需要输入:
%load Python文件的绝对路径
如果不想显示代码,直接跑:
%run Python文件的绝对路径
使用shell命令
可以新建终端进行输入命令,也可在cell中输入,需要在shell命令钱加!
!shell命令
与IPython关系
jupyter notebook是ipython的加强版,所以不需要 print
直接输出输入变量运行就可以看到结果