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)准备配置的密码 
  如下所示,

 
  1. In [1]: from notebook.auth import passwd

  2. In [2]: passwd()

  3. Enter password:

  4. Verify password:

  5. 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文件。需要配置的选项如下:

 
  1. c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'

  2. c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'

  3. # Set ip to '*' to bind on all interfaces (ips) for the public server

  4. c.NotebookApp.ip = '*'

  5. c.NotebookApp.password = u'sha1:bcd259ccf...<your hashed password here>'

  6. c.NotebookApp.open_browser = False

  7.  
  8. # 指定端口号

  9. 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

版权声明:本文为haoji007原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/haoji007/article/details/81983030

智能推荐

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...