Python·Jupyter Notebook各种使用方法记录·持续更新

http://blog.csdn.net/tina_ttl/article/details/51031113

 


Jupyter notebook )前身为IPython Notebook,学习时,可以找两者的教程


一、 

2.2 方式二绝招(绝招)

  • 进入工作目录文件夹
  • 键盘Shift+鼠标右键->在此处打开命令窗口-> 在弹出的命令窗口中输入:Jupyter Notebook 
    这里写图片描述 
    这里写图片描述

  • Jupyter被打开,定位到当前目录! 
    这里写图片描述

三、Jupyter的各种快捷键

  • 执行当前cell,并自动跳到下一个cell:Shift Enter

  • 执行当前cell,执行后不自动调转到下一个cell:Ctrl-Enter

  • 是当前的cell进入编辑模式:Enter

  • 退出当前cell的编辑模式:Esc

  • 删除当前的cell:双D

  • 为当前的cell加入line number:单L

  • 将当前的cell转化为具有一级标题的maskdown:单1

  • 将当前的cell转化为具有二级标题的maskdown:单2

  • 将当前的cell转化为具有三级标题的maskdown:单3

  • 为一行或者多行添加/取消注释:Crtl /

  • 撤销对某个cell的删除:z

  • 浏览器的各个Tab之间切换:Crtl PgUpCrtl PgDn

  • 快速跳转到首个cell:Crtl Home

  • 快速跳转到最后一个cell:Crtl End

四、Jupyter Notebook如何导入代码

即导入代码到jupyter notebook的cell中

4.1 将本地的.py文件load到jupyter的一个cell中

问题背景:有一个test.py文件,需要将其载入到jupyter的一个cell中 
test.py内容如下:

import caffe
SolverName = "/root/workspace"
sovler = caffe.AdamSolver(SolverName)
  • 1
  • 2
  • 3

方法步骤: 
(1)在需要导入该段代码的cell中输入

%load test.py #test.py是当前路径下的一个python文件
  • 1

这里写图片描述

(2)运行该cell 
利用快捷键“Shift+Enter”,可以看到如下结果: 
这里写图片描述

(3)可以看到,运行后,%load test.py被自动加入了注释符号#,test.py中的所有代码都被load到了当前的cell中

4.2 从网络load代码到jupyter

  • 在cell中输入%load http://.....,然后运行该cell,就会将load后面所对应地址的代码load到当前的cell中;

  • 下面给出一个例子,导入matplotlib中的一个小例子color example code

    • 首先,在想要导入该段代码的cell中输入

      %load test.py #test.py是当前路径下的一个python文件
      • 1
    • 然后,Shift+Enter运行,可以看到如下结果: 
      利用load导入python文件
      可以看到,运行后,%load test.py被自动加入了注释符号#,test.py中的所有代码都被load到了当前的cell中

五、Jupyter运行python文件

  • 利用jupyter的cell是可以运行python文件的,即在cell中运行如下代码:
%run file.py

file.py为要运行的python程序,结果会显示在该cell中 
这里写图片描述
这里写图片描述

六、Jupyter一些其他琐碎用法

6.1 jupyter的cell可以作为unix command使用

具体方法为:在unitx command前面加入一个感叹号“!”

例子: 
查看python版本:!python --version 
运行python文件:!python myfile.py

6.2 Magic functions

还没有太明白,具体细节见The cell magics in IPython

6.3 获取current working directory

即当前运行的代码所在的路径 
具体方法:current_path = %pwd 
这样得到的current_path就是当前工作路径的字符转

6.4 使用Matplotlib绘图

在Jupyter Notebook中,如果使用Matplotlib绘图,有时是弹不出图像框的,此时,可以在开头加入

%matplotlib inline
  • 1

七、Jupyter中的Markdown

参考1 
Markdown 语法手册 (完整整理版)参考

7.1 在jupyter中设置link,需要设置两部分:

  • 要跳到的位置(the destination) 
    需要在要跳转到的位置添加下面语句:

    <a id='the_destination'></a>
    • 1

    这里的id取值任意赋值,下面在添加链接时要用

  • 需要添加链接的文字(an internal hyperlink to the destination),即点击该处可以跳转到the destination,在需要添加链接的文字后面加入:

    [需要添加连接的文字](#the_destination)
    • 1
  • 下面是一个例子: 
    源码: 
    这里写图片描述
    效果图: 
    这里写图片描述 

http://codingpy.com/article/getting-started-with-jupyter-notebook-part-1/

http://www.jianshu.com/p/2d7b91c3746f

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。在本文中,我们将介绍 Jupyter notebook 的主要特性,以及为什么对于希望编写漂亮的交互式文档的人来说是一个强大工具。

在开始使用 notebook 之前,我们先需要安装该库。你可以在 Jupyter 官网上找到完整的步骤。

译者注:其实只要pip install jupyter就可以了

jupyter notebook

运行上面的命令之后,你将看到类似下面这样的输出:

[I 20:06:36.367 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
[I 20:06:36.813 NotebookApp] Serving notebooks from local directory: /home/your_username
[I 20:06:36.813 NotebookApp] 0 active kernels
[I 20:06:36.813 NotebookApp] The IPython Notebook is running at: http://localhost:8888/
[I 20:06:36.813 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

同时,会在你开启 notebook 的文件夹中启动 Jupyter 主界面,如下所示:

Jupyter 主界面

如果想新建一个 notebook,只需要点击New,选择你希望启动的 notebook 类型即可。

notebook 类型

这里,因为我只有一个 Python 内核,所以我们运行一个 Python notebook。在新打开的标签页中,我们会看到 notebook 界面,目前里面什么也没有。

 notebook 界面

notebook 界面由以下部分组成:

  1. notebook 的名称
  2. 主工具栏,提供了保存、导出、重载 notebook,以及重启内核等选项
  3. 快捷键
  4. notebook 主要区域,包含了 notebook 的内容编辑区

慢慢熟悉这些菜单和选项。如果想要详细了解有关 notebook 或一些库的具体话题,可以使用菜单栏右侧的帮助菜单。

下方的主要区域,由被称为单元格的部分组成。每个 notebook 由多个单元格构成,而每个单元格又可以有不同的用途。

下方截图中看到的是一个代码单元格(code cell),以[ ]开头。在这种类型的单元格中,可以输入任意代码并执行。例如,输入1 + 2并按下Shift + Enter。之后,单元格中的代码就会被计算,光标也会被移动动一个新的单元格中。你会得到如下结果:

代码单元格

根据绿色边框线,我们可以轻松地识别出当前工作的单元格。接下来,我们在第二个单元格中输入些其他代码,例如:

for i in range(5):
    print(i)

对上面的代码求值时,你会得到:

jupyter 代码执行实例

和前一个示例一样,代码被计算之后,马上就会显示结果。你应该注意到了,这次没有出现类似Out[2]这样的文字。这是因为我们将结果打印出来了,没有返回任何的值。

notebook 有一个非常有趣的特性,就是可以修改之前的单元格,对其重新计算,这样就可以更新整个文档了。试着把光标移回第一个单元格,并将1 + 2修改成2 + 3,然后按下Shift + Enter重新计算该单元格。你会发现结果马上就更新成了 5。如果你不想重新运行整个脚本,只想用不同的参数测试某个程式的话,这个特性显得尤其强大。不过,你也可以重新计算整个 notebook,只要点击Cell -> Run all即可。

现在我们已经知道了如何输入代码,为什么不尝试着让这个 notebook 更加漂亮、内容更丰富?为此,我们需要使用其他类型的单元格,即 Header单元格和 Markdown单元格。

首先,我们在顶部添加一个 notebook 的标题。选中第一个单元格,然后点击Insert -> Insert单元格above(在上方插入单元格)。你会发现,文档的顶部马上就出现了一个新的单元格。点击在快捷键栏中的单元格类型,将其变成一个标题单元格(heading cell):

变成一个标题 cell

选中下拉选项中的 Heading。然后会出现一个弹出消息,告诉你如何创建不同层级的标题,这样你就有了一个不同类型的 cell:

一个不同类型的 cell

这个单元格以#标记开头,意味着这是一个一级标题。如果需要子标题,可以使用以下标记表示(改变单元格类型时弹出消息中有解释):

# : 一级标题
## : 二级标题
### : 三级标题
...

#之后写下文档的标题,然后计算该单元格。你会发现一个样式非常好看的标题。作为示例和练习,我还添加了其他几个标题单元格:

添加了其他几个标题 cell

添加好标题之后,我们在编写一些解释,介绍每个代码单元格中的情况。为此,我们要在相应的地方插入单元格,然后将其类型变成 Markdown。然后,计算新的单元格。就这样,你的解释文本就漂亮地渲染出来了!

解释文本就漂亮地渲染出来了

最后,你可以重命名该 notebook,点击Fiel -> Rename,然后输入新的名称。这样,新的名称将会出现在窗口的左上角,在 Jupyter 的标志旁边。

 

如何本地运行本教程

  1. 安装Jupyter到本地,详见Jupyter Notebook
  2. 安装git后,执行git clone
  3. 到笔记本目录下,执行jupyter notebook

菜单栏

  • File
  • Edit
  • View
  • Insert
  • Cell
  • Kernel
  • Help

File

New Notebook-->Python3

打开一个新笔记

Open...
Make a Copy
Rename
Save and Checkpoint

Checkpoint是一个记录点

Revert to Checkpoint

返回到某一个记录点

Print View
Download as
  • ipynb
  • py
    会将%%(Jupyter命令)和!(Unix命令)转换为Python,挺有用的
  • md
    直接转md,发博客方便
  • html
  • pdf
Close and Halt

Edit

都是对Cell操作的,和ToolBar基本一致。
包括复制、粘贴、删除、合并、移动

View

Toggle Header

是否显示头部信息,包括文件名和举例上次保存时间

Toggle ToolBar

是否显示工具栏

Cell ToolBar

  • None
    啥也不展示
  • Edit MetaData
    Cell的Json属性
    {
    "slideshow": {
      "slide_type": "subslide"
    }
    }
  • Raw Cell format
    应该是格式化
  • Slideshow
    最有用的!用于制作Slides

Insert

Insert Cell Above

Insert Cell Below

Cell

ToolBar里基本都有

Kernel

Restart和Reconnect相关
Change Kernel:换Python环境

Help

一些教程链接

  • Python
  • IPython
  • NumPy(数值数组矩阵运算)
  • SciPy(微分积分)
  • MatPlotlib(绘图)
  • SymPy(数学符号)
  • pandas(数据分析,画图)

如何使用Cell?

类型

  • Code
    可执行的代码,Jupyter命令、Unix命令、各种脚本语言代码
  • Markdown
    可书写markdown
  • Raw NBconvert
    应该是默认格式(不确定)
  • Heading
    标题级别,相当于html里面的h1、h2……

Jupyter命令

示例

使用%%前缀或%,如下写入文件:

%%writefile printName.py
print "Alexander Wang"
Overwriting printName.py

打开刚才写入的文件

%pycat printName.py

magics list

  • $$ $$
    用LaTex写公式,$$ P(A \mid B) = \frac{P(B \mid A) , P(A)}{P(B)} $$
  • %%bash,%%HTML,%%python2,%%ruby
    指定解释器
  • %load
    %load ./printName.py载入外部脚本

  • %env
    设置环境变量

  • %%writefile
    可以保存cell下面内容到文件
  • %pycat
    弹窗打开文件
  • %pdb
    调试程序
    -%prun
    每个函数消耗的时间
  • %%time
    cell内代码的单次运行时间信息
  • %who
    列出所有的全局变量
    ……

快捷键

工具有个键盘图标可以看所有快捷键

Esc + F 在代码中查找、替换
Esc + O 在cell和输出结果间切换。
Shift + JShift + Down 选择下一个cell。
Shift + KShift + Up 选择上一个cell。
Shift + M 合并cell

使用Unix命令

加前缀!

!pwd
/Users/wanggang/workspace/learn-python

各种脚本语言

  • %%bash,%%HTML,%%python2,%%ruby
    指定解释器,默认是启动Jupyter的python解释器
print("hello")
hello
%%bash
echo "hello"
hello

保存后,还可以生成slides,和ppt一样的。
使用Jupyter制作slides



作者:AlexanderWang_z
链接:http://www.jianshu.com/p/2d7b91c3746f
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

posted on 2017-11-02 20:47  塔上的樹  阅读(1724)  评论(0)    收藏  举报