ipython notebook使用教程
1. 环境
操作系统:ubuntu 14.04
2. 操作步骤
a) 安装pip工具
终端输入以下命令:
sudo apt-get install python-pip
b) 安装ipython
终端输入以下命令:
sudo apt-get install ipython
c) 安装ipython[notebook]
终端输入以下命令:
sudo apt-get install ipython-notebook
d) 启动ipython[notebook]
终端输入以下命令:
ipython notebook
最近在使用jupyter notebook,感觉非常舒爽。特别是在本地的浏览器上就可以利用jupyter实现在服务器上编程,更是爽歪歪了。
关于如何实现本地浏览器上进行服务器上编程参照了这篇文章:Ubuntu环境下Anaconda安装TensorFlow并配置Jupyter远程访问.
1.关于远程访问 jupyter notebook 的设置方式
参考: http://blog.csdn.net/u010694764/article/details/53749953
(1)生成配置文件
使用如下命令
jupyter notebook --generate-config
- 1
会在~/.jupyter目录下生成一个名为jupyter_notebook_config.py的配置文件
(2)准备配置的密码
如下所示,
-
In [1]: from notebook.auth import passwd -
In [2]: passwd() -
Enter password: -
Verify password: -
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
- 1
- 2
- 3
- 4
- 5
注意保存上面的Out[2]中生成的内容
(3)生成pem和key文件
使用如下命令会在当前路径下生成一个mykey.key和一个mycert.pem文件,这两个文件会在后面的配置中使用到。下面的命令会生成有效期为365天的certificate文件。
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
- 1
(4)配置配置文件
这里主要配置第一步中的jupyter_notebook_config.py文件。需要配置的选项如下:
-
c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem' -
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key' -
# Set ip to '*' to bind on all interfaces (ips) for the public server -
c.NotebookApp.ip = '*' -
c.NotebookApp.password = u'sha1:bcd259ccf...<your hashed password here>' -
c.NotebookApp.open_browser = False -
# 指定端口号 -
c.NotebookApp.port = 8888
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
配置完成后,在TensorFlow环境下输入jupyter notebook命令,在远程中打开Chrome浏览器,输入https://ip:8888就可以远程访问并使用TensorFLow了。
最终效果如下:
可能是因为Linux服务器防火墙的原因设置完后却链接不上,可以通过下面方式解决:
ssh username@remote_address -L127.0.0.1:1234:127.0.0.1:8881
然后在本地浏览器上面输入:
https://localhost:1234/tree
2. 进度条使用
最近看到 tqdm 这个模块,用于显示程序的进度条,感觉真心爽,用法也是非常简单,如下图所示:
这样我们就能够实时地看到程序的进度而不需要使用print这种低级的方法了,哈哈。
此外,可以使用下面方式来实现进度条显示。\r 表示 return, 所以能够实现刷新单行数据。
```python
for i in xrange(1000):
sys.stdout.write('\rtime %d' % i)
sys.stdout.flush()
time.sleep(0.01)
```
3. 快捷键使用
使用notebook也有一段时间了,感觉有些快捷键还是挺常用的。在非输入模式下:
h: 显示所有的快捷键
m: 把当前选中的 cell 调整为 markdown 模式
y: 把当前选中的 cell 调整为 code 模式
a: 在上方添加一个cell
b: 在下方添加一个cell
4.原文
原文链接:http://www.cnblogs.com/giserliu/
在一次师兄(师兄博客地址)的例会汇报中,介绍了ipython notebook,当时觉得很酷炫,渐渐自己使用的时候才发现真的很强大。抽空整理下,找了些资料进行补充,并挨个进行了实现,留个笔记,也欢迎喜欢Python编程的码农使用。有不全的欢迎补充。
IPython notebook目前已经成为用Python做教学、计算、科研的一个重要工具。关于其发展,以及介绍,感兴趣可以找文献阅读。本文主要讲解的是它的基本用法和技巧。
IPython Notebook使用浏览器作为界面,向后台的IPython服务器发送请求,并显示结果。
Ipython使用了websocket,它是不支持IE的.一般用Chrome就好了.
好, 说了这么多,我们打开先看下,打开方式很简单,直接cmd进入到你要创建的目录下,然后输入命令:ipython notebook(现在升级了,打开主页显示的是jupyter,所以也可以使用jupyter notebook命令)。

可以看到在浏览器界面中使用单元(Cell)保存各种信息。Cell有多种类型,经常使用的有表示代码的Code单元,和表示格式化文本的Markdown单元。
每个代码单元都有一个输出区域,在Code单元中输入代码,按 Ctrl-Enter 将运行此代码,代码中最后一个表达式的值将输出区域显示。如果希望屏蔽输出,可以在最后一条语句之后添加一个分号:”;”。此外,代码中还可以使用print语句在输出区域中显示信息。
与IPython一样,在cell中可以直接按tab键,可以自动补全,超级实用。
Markdown文本
具体可以参考https://maxiang.io/或者其他文档
- 文本编辑
Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版、字体设置。它使我们专心于码字,用「标记」语法,来代替常见的排版格式。

- 数学公式
可以使用LaTeX公式
创建行内公式,例如 $\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$。
或者块级公式: $$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$

- 代码块
可以直接在页面输出代码块,只需要在前后加上```代码块 ```即可。

- 表格
可以使用markdown标记生成表格

嵌入图片

嵌入音乐
可以嵌入本地音乐和网络音乐

嵌入视频
网络视频
本地视频

嵌入网页

嵌入链接

魔法命令
所有以%开头的方法,都是所谓的魔术方法(Magic function),也就是ipython内置的一些方法。需要注意的是,魔术方法有%和%%之分,比如%timeit和%%timeit。在ipython中有专门的叫法,前者叫line magic后者叫cell magic。顾名思义,前者是专门针对一行的命令,后者针对多行的命令。
通过%lsmagis可以查看所有的magic命令,使用?或者??可以查看该命令的信息,后者可以查看源码。如: %alias?,会出现该方法的描述。

接下来对一些常用的进行展示:
- 加载文件

- 执行文件

run命令还可以附加选项,常用的有-t选项,这个会在脚本执行完后,打印出执行的cpu timings。如果指定了-t选项,后面可以跟一个-Nx,x代表一个数字。表示重复执行x次。
另外比较好用的是-d选项,这个会在pdb中运行脚本。后跟-bxx打断点。
还有一个-p选项,这个选项会开启python profiler,从而打印出详细的执行时间、函数调用等等信息供优化参考。
- 嵌入绘图
在网页中嵌入绘图库绘制的图形,可以使用%matplotlib inline或者%pylab inline启动这个功能。还可以启动ipython后台服务器时,在命令行下输入ipython notebook --matplotlib inline或ipython notebook --pylab inline。这样的话它就会导入pylab(mathplotlib)库.而且显示图片时可以嵌在网页中的。

- 执行效率
这个命令用来测试一条命令执行的时间,一般而且,会重复100次运行这个命令,然后取出最好的3个结果取平均值。

还可以指定选项。
-n指定重复次数,默认100
-r是取多少个结果的平均值,默认是3
还有很多的magic命令,就不一一列举,感兴趣可以自己去尝试。
参考:http://hyry.dip.jp/tech/slice/slice.html/35
http://kochiya.me/www/posts/Ipython!.html
http://www.cnblogs.com/zhuangzhuang1988/archive/2012/11/19/2777195.html
http://nbviewer.ipython.org/github/ipython/ipython/blob/3.x/examples/Index.ipynb
智能推荐
IPython及IPython Notebook的配置与使用
IPython及IPython Notebook的配置与使用 1、使用pip命令进行关键包的安装 在python安装目录下的Scripts文件夹下执行命令行 (我的默认安装路径为:C:\Users\dell\AppData\Local\Programs\Python\Python36\Scripts>) 2、运行IPython 上步路径下(Scripts>),执行命令 > ipy...
在 Spark 中使用 IPython Notebook
本文是从 IPython Notebook 转化而来,效果没有本来那么好。 主要为体验 IPython Notebook。至于题目,改成《在 IPython Notebook 中使用 Spark》也可以,没什么差别。为什么是 Spark?因为这两天在看《Spark 机器学习》这本书第 3 章,所以就顺便做个笔记。 简单介绍下,IPython notebook 对数据科学家来说是个交互地呈现科学和理...
Ipython使用指南
一、简介 2001年,Fernando Perez为了得到一个更为高效的交互式Python解释器而启动的一个项目,IPython不仅仅是一个加强版的shell,他可以直接进行绘图操作的GUI控制台,一个基于web的交互式笔记本,以及一个轻量级的快速并行计算引擎。 ipython是一个升级版的交互式python命令行工具. 二、ipython安装 一、在已有Python环境安装...
Ipython基本使用
安装 Ipython 在 Linux 命令行中输出 如下命令进行安装 启动和退出 Ipython 基本使用 1、支持更友好的命令提示 2、执行 shell 命令 3、运行 python 脚本...
IPython安装使用详解
IPython是一个升级版的交互式python命令行工具。 ipython安装 等到命令执行完成后显示successfully表示完装成功 在命令提示符下输入ipython就可以启动ipython了 其与原版python命令行工具不同在于ipython的提示符变成了in和out. in为输入命令的地方,out为命令执行完成后输出的地方 ipython的特点 tab键自动补全一些常用的方法 支持一些...
猜你喜欢
Mybatis基础(part 1)
一.mybatis调用SQL语句 1.使用XML配置SQL语句 在SqlMapConfig.xml配置数据源并指定映射配置文件的位置(每个DAO对应的XML文件,该文件映射了DAO的全限定类名) 2.使用注解配置sql语句 在SqlMapConfig.xml配置数据源和class属性(指定被注解的dao全限定类名),在DAO上写注解。 用注解来配置,故此处使用class属性指定被注解...
Docker 容器内运行 Dubbo 服务
原文:http://www.aqcoder.com/post/content?id=41 在使用 Docker 容器内运行 Dubbo 服务的时候一个令人很头痛的问题就是服务地址注册。 Docker 容器内有自己的 IP 段,和宿主主机是隔离的,Dubbo 会使用容器内的 IP 注册到 zookeeper 注册中心上。这样其他的服务是无法访问的。 方式一:–host 一个很直接的方案就...
python基础教程
Python基础教程 一、简介 1.1 python语言介绍 python的创始人:Guido Van Rossum Python下载地址:https://www.python.org/ Python文档下载地址:https://www.python.org/doc/ Pycharm下载地址:https://www.runoob.com/w3cnote/pycharm-windows-instal...
1、Git安装与配置
1、Git安装与配置 一:版本控制 定义:版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 为什么要用版本控制:在起初的项目开发中,我们会不断的编写代码,但是,害怕有一天系统突然挂掉了,完蛋,辛苦写的代码就这么没了,所有为了防止这一点,都会开发一点就以目录拷贝的形式保存下来,自己这么1.0、2.0、3.0…的这么去标记,开始的还好,后面的话你压根就不知道...
Golang net/rpc 包的深度解读和学习
Golang 提供了一个开箱即用的RPC服务,实现方式简约而不简单。本文对net/rpc 包做深度解读和学习实战。 RPC 简单介绍 远程过程调用 (Remote Procedure Call,RPC) 是一种计算机通信协议。允许运行在一台计算机的程序调用另一个地址空间的子程序(一般是开放网络中的一台计算机),而程序员就像调用调用本地程序一样,无需额外做交互编程。RPC 是一种 CS (Clien...
