12、 IPython&Jupyter Notebook 的快捷键、Magic 命令以及远程服务器的调用
来源:互联网 发布:电脑自动还原软件 编辑:程序博客网 时间:2024/06/10 04:02
一、ipython 基础
1. 搜索并重用历史命令
- 直接使用上下键进行查找(效率比较低)
- 输入命令的前几个字符+上下键查找,这样就会搜索出历史命令中第一个与你输入的字符相匹配的命令了(更高效)
Ctrl+C: 终止当前正在执行的代码
Ctrl+L: 清屏
2. ?和 ?? 查看对象的信息
3. line magic(%) && cell magic(%%)
- 以
%
开头的叫做line magic
, 这种类型的指令只能作用于一行代码,默认是可以不带百分号使用的。 - 以
%%
开头的叫做cell magic
, 这种类型的指令只能作用于代码块。
4. 与系统命令的交互(!
)
- 在
ipython
中可以很方便的使用linux
命令,只需要在命令前加上一个!
就可以了 eg: !vim hello.txt // 在ipython 中调用 vim 命令(只适用于linux 系统中),Windows 下得用 !type hello.txt
二、Jupyter Notebook 中的快捷键
- 编辑模式和命令模式的切换
- 要进入编辑模式,按
Enter
键 - 要从编辑模式返回到命令模式,按
Escape
键
- 要进入编辑模式,按
- 创建一个新的单元格
- 命令模式 按
A
在当前单元格上方创建一个单元格 - 命令模式 按
B
在当前单元格下方创建一个单元格
- 命令模式 按
- 选择并合并多个单元格
- 命令模式 按
Shift + J or Shift + Down
往下选择单元格 - 命令模式 按
`Shift + M
合并下一个单元格或者多个选中的单元格
- 命令模式 按
- 删除单元格
- 命令模式下,连续按
两次 D
可以删除单元格
- 命令模式下,连续按
- 执行单元格
- 按
Shift + Enter
执行此单元格中的代码,同时跳转到下一单元格
- 按
- 显示代码行号
- 命令模式下,按
L
显示代码行号
- 命令模式下,按
- 代码补全及函数或类等的使用方法
- 编辑模式下,使用
Tab
键进行代码补全 - 编辑模式下,使用
Shift + Tab
键来查看函数或类等的使用方法的概要,连续按两次Shift + Tab
键显示全部文档,或者使用? + 方法/变量等
- 编辑模式下,使用
- 命令模式下, 按
H
调出Jupyter Notebook
快捷方式列表 ;Jupyter 在顶部菜单提供了一个快捷键列表:Help > Keyboard Shortcuts
三、Jupyter Notebook 中的 Magic 命令
- 代码计时
%timeit
:测算某行代码的运行时间%%timeit
:测算整个单元格的运行时间
- 在 notebook 中嵌入图表
- 在单元格开头加入代码:
%matplotlib inline
- 在单元格开头加入代码:
- 运行 Python 代码
- 使用
%run test.py
运行python代码
- 使用
- 在 notebook 中进行调试
- 对于 Python 内核,可以使用 Magic 命令 %pdb 开启交互式调试器
- 出错时,你能检查当前命名空间中的变量
- 运行 Shell 命令
- 在一般的 shell 命令前面加一个感叹号
!
即可以在 Notebook 中轻松使用 linux 命令啦
- 在一般的 shell 命令前面加一个感叹号
四、Jupyter Notebook 调用远程服务器
- 安装 linux_anaconda2-4.3.1,注:高版本的可能需要安装nb_conda,才能在浏览器中使用(conda root)
conda install nb_conda
- 在自己的 home 目录下运行
jupyter notebook --generate-config
,创建一个配置目录~/.jupyter,里面有配置文件jupyter_notebook_config.py
- 打开
ipython
创建登陆密码
In [1]: from notebook.auth import passwdIn [2]: passwd()Enter password:Verify password:Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
- 取消
jupyter_notebook_config.py
前面的注释,并按照下面的编辑
c.NotebookApp.open_brower = False # 不需要在服务器上打开浏览器c.NotebookApp.ip = '*' # Set ip to '*' to bind on all interfaces (ips) for the public serverc.NotebookApp.password = u'your hashed password here' # 设置登陆密码# It is a good idea to set a known, fixed port for server access# 注意:端口号不是任意设的,它要和路由器中的内部端口号相同# 在本地浏览器中使用对外ip:对外服务端口(和内部端口号对应)来访问c.NotebookApp.port = 9999
- 在shell中运行Jupyter notebook,使用nohup,这样即使你登出系统了,Jupyter notebook还是会持续运行,代码为:
nohup jupyter notebook
- 通过在终端中按
两次 Ctrl + C
,可以关闭整个服务器 关于服务端口的设置(要在路由器中设置,不是随便选的!)
先给出我们实验室的路由配置(IP 什么的已经更改过了,以防泄露哈)
假如我在jupyter notebook 中把端口号设置成了第四条中内部端口的 8801(对应外部的服务端口也是8801),那么我在本地浏览器输入
10.30.100.160:8801
就可以远程访问服务器了,第一次登陆(可在移动端)需要输入密码- 当然你也可以在
jupyter_notebook_config.py
中修改端口号,只需要在路由器中添加转发规则就可以了。不过,低数字端口比如22、80 等,只能在 root 用户下使用,所以你最好把端口号设高一点,比如 8803
- 优点及效果展示
- 再也不用担心 ubuntu server 版不能可视化了,本地 jupyter notebook 中可以显示图像(我的理解是:它读取了远程服务器中图片的内存数据,然后调用了本地图形显示的后台来显示图像)
- 在 jupyter notebook 中可以很方便的修改程序、实时监控程序的运行,交互式调试等等
五、参考资料
1. 28 Jupyter Notebook tips, tricks and shortcuts
2. Built-in magic commands
3. Running a notebook server
4. The five-minute guide to setting up a Jupyter notebook server
5. 五分钟建立Jupyter notebook服务器
阅读全文
1 0
- 12、 IPython&Jupyter Notebook 的快捷键、Magic 命令以及远程服务器的调用
- IPython notebook快捷键(Jupyter notebook)
- IPython notebook(Jupyter Notebook) 的使用
- Ipython Notebook升级版Jupyter Notebook远程服务器配置
- Jupyter Notebook 的快捷键
- Jupyter Notebook的快捷键
- Jupyter Notebook 的快捷键
- Jupyter Notebook的快捷键
- Jupyter Notebook 的快捷键
- Jupyter Notebook 的快捷键
- Jupyter Notebook 的快捷键
- Jupyter Notebook 的快捷键
- Jupyter Notebook的快捷键
- Jupyter Notebook 的快捷键
- Jupyter Notebook 的快捷键
- Jupyter Notebook 的快捷键
- Jupyter Notebook 的快捷键
- Jupyter Notebook 的快捷键
- 24点游戏
- CSS中常用的几种定位方式
- 对request.getSession(false)以及参数为true的理解
- JS添加类似C# string.Format方法
- 源码解析为什么覆盖equals方法时总要覆盖hashCode方法
- 12、 IPython&Jupyter Notebook 的快捷键、Magic 命令以及远程服务器的调用
- Android连按两次回退按钮退出程序
- 虚拟存储器·十
- 树状数组模版
- 对机器学习的初步感悟 1
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
- css3深入了解之奇技淫巧
- No.01 "Hellworld"
- 常用Linux命令