1、安装 Anaconda 
    下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/


2、jupyter 启动:
    (1)cmd中: jupyter notebook
                会默认打开浏览器,可以修改默认浏览器或在指定浏览器输入
                     http://localhost:8888/tree

    (2)要打开一个新的 Jupyter Notebook,请单击页面右侧的“New”选项卡。在这里,你有四个选项可供选择:

     Python 3

     Text File (文本文件)

     Folder (文件夹)

     Terminal (终端)

    (3)在下拉菜单中,有四个选项:

        Code - 这是你输入代码的地方

        Markdown - 这是你输入文本的地方。你可以在运行代码后添加结论,添加注释等。

        Raw NBConvert - 这是一个命令行工具,可将你的笔记本转换为另一种格式(如 HTML)

        Heading - 你可以将标题添加到单独的小节并使你的 Notebook 看起来干净整洁。这个选项现在已经集成到 Markdown 选项中。添加一个“##”,以确保在你之后输入的内容将被视为标题
4)修改notebook的名字,直接点击当前名称,弹出对话框进行修改

    (5)对于Notebook中的单元,有两种模式:命令模式(Command Mode)与编辑模式(Edit Mode),在不同模式下我们可以进行不同的操作

            在编辑模式(Edit Mode)下,右上角出现一只铅笔的图标,单元左侧边框线呈现出绿色,点Esc键或运行单元格(ctrl-enter)切换回命令模式
            在命令模式(Command Mode)下,铅笔图标消失,单元左侧边框线呈现蓝色,按Enter键或者双击cell变为编辑状态


3、jupyter 快捷键:

    一旦进入命令模式(即没有活动单元格),就可以尝试以下快捷键:

            A 键将在选中单元格上方插入新单元格,B 键将在选中单元格下方插入一个单元格

            删除单元格:先选中要删除的单元格,然后按 X 键

            执行单元格内容:先选中单元格,按 shift + enter

            切换单元格模式:y 键 将 markdown 切换为 code 模式;
                                   m 键 将 code 切换为 markdown 模式

            打开帮助文档:shift + tab

            要删除单元格,请连续按两次 D 键

            要撤消已删除的单元格,请按 Z 键

            Y 键将当前的选中单元格变成代码单元格

            按住 Shift + 向上或向下箭头键可以选择多个单元格。在多选模式下,按 Shift + M 会合并选中的单元格

            F 键会弹出 “查找和替换” 菜单

    处于编辑模式时(在命令模式下按 Enter 键进入编辑模式),你会发现以下快捷键非常好用:

            Ctrl + Home 转到单元格的开头

            Ctrl + S 会保存你的工作

            Ctrl + Enter 将运行你的整个单元格

            Alt + Enter 不仅会运行你的单元格,它还会在下方添加一个新的单元格

            Ctrl + Shift + F 打开命令选项板

    其他
            按tab键查看提示信息或者补全命令

            在一个库、方法或变量前加上 ?,就可以获得它的一个快速语法说明

            使用分号可以阻止该行函数的结果输出
jupyter 概述

 目录:

  anaconda 环境管理

  anaconda 包管理

  启动 jupyter notebook

  修改 jupyter notebook 默认目录和默认浏览器

  jupyter notebook 主面板

  Markdown 编辑文本快捷指令

  扩展

  保存共享 notebook

  最佳实践

简介

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。

Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等

安装与运行

1.使用Anaconda安装

对于小白,强烈建议使用Anaconda发行版安装Python和Jupyter,其中包括Python、Jupyter Notebook和其他常用的科学计算和数据科学软件包。

首先,下载Anaconda。建议下载Anaconda的最新Python 3版本。其次,请按照下载页面上的说明安装下载的Anaconda版本。最后,安装成功!

Anaconda是一个方便的python包管理和环境管理软件,一般用来配置不同的项目环境。
我们常常会遇到这样的情况,正在做的项目A和项目B分别基于python2和python3,而第电脑只能安装一个环境,这个时候Anaconda就派上了用场,它可以创建多个互不干扰的环境,分别运行不同版本的软件包,以达到兼容的目的。
Anaconda通过管理工具包、开发环境、Python版本,大大简化了你的工作流程。不仅可以方便地安装、更新、卸载工具包,而且安装时能自动安装相应的依赖包,同时还能使用不同的虚拟环境隔离不同要求的项目。

anaconda的安装

windows下anaconda安装

非常简单,前往Anaconda官网 即可下载安装,国内用户可以到清华大学TUNA镜像站下载,安装过程中注意到这一步

 

其中第一项指将Anaconda的默认环境设置添加到系统环境,也就是说如果你之前安装过python并添加到了环境,选了这一项之后原来的python会被覆盖掉,默认使用Anaconda的默认环境。

第二项指设置Anaconda的默认环境为python3.5.

安装完成后Anaconda会创建一个叫base的默认环境,如果你不切换到其他指定环境,就会一直在默认环境运行。

linux ubuntu系统Anaconda安装

下载Anaconda.sh 如果无法运行的话修改一下权限

sudo chmod +x 文件名
sudo ./文件名

看完版权声明设置完就好了

安装完成后如果没有加入系统环境windows需要通过Anaconda Prompt运行(anaconda prompt还有一个好处就是可以显示图表),如果加入系统环境变量就可以在cmd运行了
 

我选择了加入系统变量,我们可以看到我的python显示为Anaconda版
anconda使用conda作为包管理工具,也就是anaconda把一些常用的python包统一管理,可以方便的安装、更新和卸载包。
conda常用命令

conda --version 查看conda版本
conda -V
conda --help   获取帮助
conda -h
conda update --help 
conda remove --help

--help 都可以换成-h

Anaconda环境管理

settings---project interpreter---点击右上角设置按钮---add local---system interpreter
配置pycharm开发环境(关联anaconda)

 

接下来我们先研究单一环境下的Anaconda环境管理。
conda env --help
刚刚系统默认创建了名叫base的默认环境,我们可以使用conda命令查看当前有多少环境
conda env list 查看所有环境
或者
conda info --envs

 

我们可以看到只有一个base,也就是刚刚安装的时候勾选的带有python3.5的环境,还有一些py3的包
如果现在我需要一个python2.7的和tensorflow1.0的环境该怎么办呢
输入

conda create --name your_env_name  
或者  
conda create -n your_env_name

your_env_name 就是你新创建的环境名,你可以在里面安装其他包但不会与现有环境冲突

如果你要在创建环境时指定包内容, 可以用

conda create -n your_env_name python=3.5
如果你要指定多个包 可以用
conda create -n your_env_name python=3.5 numpy pandas

要指定特殊版本号加上=版本号就行,默认是最新的
对了,安装前为了保障你查询到最新包情况,最好使用
`conda update --all 更新包信息。

例如我现在要创建一个名叫 learningpy的基于py3的环境

conda update --all
conda create -n learningpy python=3.7
 

系统会询问你是否创建,输入y回车后,系统将列出必要安装的包
conda有一点好处是,如果你需要安装一个包,系统将自动检查这个包需要的前置包并且安装,比如你要安装TensorFlow,而TensorFlow会用到很多像前置包像pandas、matiplot等,如果你在单纯的python下没有安装pandas等包就直接安装TensorFlow,那么和有可能无法使用,而使用conda安装TensorFlow将会询问你并自动帮你把缺少的前置包安装好
创建完新的环境我们查看环境列表
conda env list

 

只要你的硬盘够大,你就可以创造很多个不同的环境
那么现在我们有多个环境了,如何切换环境呢?
windows
  activate 环境名
  退出时记得退出命令哦
  deactivate
  linux和mac用户的命令不一样
  source source activate 环境名
  source deactivate 环境名

  比如我现在进入刚刚创建的learningpy环境

  activate learningpy
  python --verion
 

是不是python已经变成了3.7版本,我现在的环境已经和刚刚的环境没有关系了~~~
一些常用命令 

conda create -n your_env_name --clone oldname
删除某个环境
conda remove -n your_env_name --all
导出环境配置(非常有用,比如你想帮朋友安装和你一模一样的环境,你可以直接导出一个配置文件给他,就能免除很多人力安装调试)
conda env export > environment.yml
将会在当前目录生成一个environment.yml,你把它交给小伙伴或拷到另一台机器,小伙伴只需要对这个文件执行命令  
conda env create -f environment.yml
就可以生成和你原来一模一样的环境啦

anaconda包管理

上文我们提到了创建环境时的包管理,那么我们创建好环境后如何进行包的安装、更新和卸载呢?
当然我们任然可以通过pip安装更新删除
这里我们介绍conda

conda list 列举当前环境下的所有包
conda list -n packagename 列举某个特定名称包
conda install packagename 为当前环境安装某包
conda install -n envname packagename 为某环境安装某包
conda search packagename 搜索某包
conda updata packagename 更新当前环境某包
conda update -n envname packagename 更新某特定环境某包
conda remove packagename 删除当前环境某包
conda remove -n envname packagename 删除某环境环境某包
conda本身和anaconda、python本身也算包
conda update conda
conda update anaconda
conda update python

conda默认源可能速度比较慢
可以添加其他源,常用的有清华TUNA

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes 在包后面显示来源

第三条执行安装包时会显示来自哪个源,一目了然

 

教育网用户可以添加ipv6源,速度很快

conda config --add channels https://mirrors6.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors6.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes 在包后面显示来源

anaconda实现原理解析

anaconda在目录下的envs文件夹保存了环境配置,也就是把所有的安装在这个环境下的包放在同一个文件夹中
当创建一个新环境时,anaconda将在envs中创建一个新的文件夹,这个文件夹包括了你安装在这个环境中的所有包
anaconda通过巧妙的包管理解决的一个大难题,确实方便了很多。

2.使用pip命令安装

对于有经验的Python用户,可以使用Python的包管理器pip而不是Anaconda 来安装Jupyter 。

如果已经安装了Python 3:

python3 -m pip install --upgrade pip

pi3 install jupyter

如果已经安装了Python 2:

python2 -m pip install --upgrade pip

pip2 install jupyter

但推荐使用Anaconda,自带了Numpy、Scipy、Matplotlib等多种python开发包和Jupyter Notebook!

3.运行Jupyter Notebook

成功安装Jupyter Notebook后,在Terminal (Mac / Linux)或Command Prompt(Windows)中运行以下命令就可打开Jupyter Notebook

 

输入 :jupyter notebook

 

执行上面命令之后, Jupyter Notebook 将在你的默认浏览器中打开,网址为:http://localhost:8888/tree

或者在开始菜单页面直接打开

 

 

0. 帮助

 

如果你有任何jupyter notebook命令的疑问,可以考虑查看官方帮助文档,命令如下:

 

jupyter notebook --help

 

 

jupyter notebook -h

 

1. 启动

 

① 默认端口启动

 

在终端中输入以下命令:

 

jupyter notebook

 

执行命令之后,在终端中将会显示一系列notebook的服务器信息,同时浏览器将会自动启动Jupyter Notebook。

 

启动过程中终端显示内容如下:

 

$ jupyter notebook
[I 08:58:24.417 NotebookApp] Serving notebooks from local directory: /Users/catherine
[I 08:58:24.417 NotebookApp] 0 active kernels
[I 08:58:24.417 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 08:58:24.417 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

 

  • 注意:之后在Jupyter Notebook的所有操作,都请保持终端不要关闭,因为一旦关闭终端,就会断开与本地服务器的链接,你将无法在Jupyter Notebook中进行其他操作啦。

 

浏览器地址栏中默认地将会显示:http://localhost:8888。其中,“localhost”指的是本机,“8888”则是端口号。

 

 

URL

 

 

 

如果你同时启动了多个Jupyter Notebook,由于默认端口“8888”被占用,因此地址栏中的数字将从“8888”起,每多启动一个Jupyter Notebook数字就加1,如“8889”、“8890”……

 

② 指定端口启动

 

如果你想自定义端口号来启动Jupyter Notebook,可以在终端中输入以下命令:

 

jupyter notebook --port <port_number>

 

其中,“<port_number>”是自定义端口号,直接以数字的形式写在命令当中,数字两边不加尖括号“<>”。如:jupyter notebook --port 9999,即在端口号为“9999”的服务器启动Jupyter Notebook。

 

③ 启动服务器但不打开浏览器

 

如果你只是想启动Jupyter Notebook的服务器但不打算立刻进入到主页面,那么就无需立刻启动浏览器。在终端中输入:

 

jupyter notebook --no-browser

 

此时,将会在终端显示启动的服务器信息,并在服务器启动之后,显示出打开浏览器页面的链接。当你需要启动浏览器页面时,只需要复制链接,并粘贴在浏览器的地址栏中,轻按回车变转到了你的Jupyter Notebook页面。

 

 

 

 

例图中由于在完成上面内容时我同时启动了多个Jupyter Notebook,因此显示我的“8888”端口号被占用,最终分配给我的是“8889”。

 

2. 快捷键

 

  1. 向上插入一个cell:a
  2. 向下插入一个cell:b
  3. 删除cell:x
  4. 将code切换成markdown:m
  5. 将markdown切换成code:y
  6. 运行cell:shift+enter
  7. 查看帮助文档:shift+tab
  8. 自动提示:tab

 

3. 魔法指令

 

  1. 运行外部python源文件:%run xxx.py
  2. 计算statement的运行时间:%time statement
  3. 计算statement的平均运行时间:%timeit statement
  4. 测试多行代码的平均运行时间:

    %%timeit

    statement1

    statement2

    statement3

 

修改jupyter notebook的 默认目录和默认浏览器
修改默认目录
1 、找到一个用于存放config文件的文件夹,用cmd来查找路径:

在cmd中 输入​命令 jupyter notebook --generate-config(前面是两个-后面是一个-)

2、按照第1步找到的路径寻找​文件名是“jupyter_notebook_config.py”的一个文件

​3、用notebook打开该文件,修改

  “# The directory to use for notebooks and kernels.”下面的

  “# c.NotebookApp.notebook_dir = ''”​为

  “c.NotebookApp.notebook_dir = '指定的工作路径'”​(注意将#号删除)

 

然后重启一下jupyter nootbook,默认路径确实更改了

修改默认浏览器

在c.NotebookApp.browser=''之后加上(注意自己的chrome路径)
import webbrowser

webbrowser.register("chrome", None, webbrowser.GenericBrowser(u"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"))

c.NotebookApp.browser = 'chrome'

 

 

主面板(Notebook Dashboard)

 

 
 

 

打开Notebook,可以看到主面板。在菜单栏中有Files(文件)、Running(运行)、Clusters(集群)、三个选项。用到最多的是Files,我们可以在这里完成notebook的新建、重命名、复制等操作。

Files 基本上列出了所有的文件,

Running 显示你当前已经打开的终端和Notebooks,

Clusters 由 IPython parallel 包提供,用于并行计算。

要打开一个新的 Jupyter Notebook,请单击页面右侧的“New”选项卡。在这里,你有四个选项可供选择:

⦁ Python 3

⦁ Text File (文本文件)

⦁ Folder (文件夹)

⦁ Terminal (终端)

在 "Text File" 选项中,你会得到一个空白的文档。输入你喜欢的任何字母,单词和数字。它基本上是一个文本编辑器(类似于 Ubuntu 上的应用程序)。你也可以选择一种语言(支持非常多的语言),然后用该语言来写一个脚本。你还可以查找和替换文件中的单词。

在 "Folder" 选项中, 顾名思义它的功能就是创建文件夹。你可以创建一个新文件夹来放入文件,重新命名或者删除它。

"Terminal" 的工作方式与你的 Mac 电脑或 Linux 电脑上的终端完全相同(或者 Windows 上的 cmd )。它在你的Web浏览器中支持终端会话。在这个终端中输入 python ,瞧!现在你已经可以开始写 python 脚本了。

创建python文件

从“New”选项中选择 "Python 3" 选项。你会看到如下的截图:

 

代码上方的菜单栏提供了操作单元格的各种选项:

insert (添加),edit (编辑),cut (剪切),move cell up/down (上下移动单元格),run cells(在单元格中运行代码),interupt (停止代码),save (保存工作),以及 restart (重新启动内核)

 

在下拉菜单中(如上所示),你有四个选项:

Code - 这是你输入代码的地方

Markdown - 这是你输入文本的地方。你可以在运行代码后添加结论,添加注释等。

Raw NBConvert - 这是一个命令行工具,可将你的笔记本转换为另一种格式(如 HTML)

Heading - 你可以将标题添加到单独的小节并使你的 Notebook 看起来干净整洁。这个选项现在已经集成到 Markdown 选项中。添加一个“##”,以确保在你之后输入的内容将被视为标题

编辑界面

一个notebook的编辑界面主要由四部分组成:名称、菜单栏、工具条以及单元(Cell),如下图所示:

 

1.在这里,我们可以修改notebook的名字,直接点击当前名称,弹出对话框进行修改: 

 

2.菜单栏详解

2.1 File

 

2.2 Edit

2.3 View

2.4 Insert

 

 

2.5 Cell

2.6 Kernel

2.7 Help

3. 工具条

工具条中的功能基本上在菜单中都可以实现,这里是为了能更快捷的操作,将一些常用按钮放了出来。下图是对各按钮的解释

 

4 .单元(Cell)

在单元中我们可以编辑文字、编写代码、绘制图片等等。对于单元的详细内容放在第五节中介绍。

单元(Cell)

1.两种模式与快捷键

对于Notebook中的单元,有两种模式:命令模式(Command Mode)与编辑模式(Edit Mode),在不同模式下我们可以进行不同的操作

 

如上图,在编辑模式(Edit Mode)下,右上角出现一只铅笔的图标,单元左侧边框线呈现出绿色,点Esc键或运行单元格(ctrl-enter)切换回命令模式。

 

在命令模式(Command Mode)下,铅笔图标消失,单元左侧边框线呈现蓝色,按Enter键或者双击cell变为编辑状态。

2 .Cell的四种功能

Cell有四种功能:Code、Markdown、Raw NBConvert、Heading,这四种功能可以互相切换。Code用于写代码,Markdown用于文本编辑,Raw NBConvert中的文字或代码等都不会被运行,Heading是用于设置标题的,这个功能已经包含在Markdown中了。四种功能的切换可以使用快捷键或者工具条

Markdown用于编辑文本,给出常用的Markdown用法

 

 

快捷键

一旦进入命令模式(即没有活动单元格),就可以尝试以下快捷键:

A 键将在选中单元格上方插入新单元格,B 键将在选中单元格下方插入一个单元格

要删除单元格,请连续按两次 D 键

要撤消已删除的单元格,请按 Z 键

Y 键将当前的选中单元格变成代码单元格

按住 Shift + 向上或向下箭头键可以选择多个单元格。在多选模式下,按 Shift + M 会合并选中的单元格

F 键会弹出 “查找和替换” 菜单

处于编辑模式时(在命令模式下按 Enter 键进入编辑模式),你会发现以下快捷键非常好用:

Ctrl + Home 转到单元格的开头

Ctrl + S 会保存你的工作

和上面提过的一样,Ctrl + Enter 将运行你的整个单元格

Alt + Enter 不仅会运行你的单元格,它还会在下方添加一个新的单元格

Ctrl + Shift + F 打开命令选项板


其他

按tab键查看提示信息或者补全命令

在一个库、方法或变量前加上 ?,就可以获得它的一个快速语法说明

使用分号可以阻止该行函数的结果输出

有用的 Jupyter Notebooks 扩展

扩展可以有效提高你的 Jupyter Notebooks 的生产力。安装和使用扩展的最佳工具之一是 Nbextensions。它需要两个简单的步骤来安装(也有其他方法,但我发现这是最方便的):

第1步:用 pip 来安装它:

pip install jupyter_contrib_nbextensions

第2步:安装关联的 JavaScript 和 CSS 文件

jupyter contrib nbextension install --user

完成此操作后,你会在 Jupyter Notebook 主页顶部看到一个 Nbextensions 选项卡。这里面有很多非常棒的扩展供你使用

 

 
 

要启用一个扩展,只需点击它来激活。我在下面提到了4个我认为最有用的扩展:

Code prettify:重新格式化和美化代码块的内容

Printview:这个扩展添加了一个工具栏按钮来调用当前 Notebook 的 jupyter nbconvert,并可选择在新的浏览器标签中显示转换后的文件

Scratchpad:这个扩展增加一个便捷单元格,它可以让你运行你的代码而不必修改你的 Notebook。这是一个非常方便的扩展,特别是当你想要测试你的代码,但不想在你的活动Notebook上做这件事。

Table of Contents (2):这个扩展可以收集你的 Notebook 中的所有标题,并将它们显示在一个浮动窗口中

保存和共享你的 Notebook

这是 Jupyter Notebook 中最重要和最棒的功能之一。当我需要写博客文章,但我的代码和注释都保存在 Jupyter 文件中时,我需要先将它们转换为另一种格式。请记住,这些 Notebooks 采用 json 格式,在共享它时这并不是很有帮助。我无法在电子邮件或博客上发布不同的单元格或代码块,对吧?

进入 Files 菜单,你会看到一个 Download As 选项:

 

 
 

你可以将你的 Notebook 保存为 7 个选项中的任何一个。最常用的是 .ipynb 文件,这样其他人就可以在自己的机器上复制代码;或者保存为 .html 文件, 这样会打开一个网页(当你想要保存嵌入在 Notebook 中的图像时,这会派上用场)

你也可以使用 nbconvert 选项手动将你的 Notebook 转换为不同的格式,如 HTML 或 PDF。

你还可以使用 jupyterhub,它允许你在其服务器上托管 Notebooks 并与多个用户共享。许多顶尖的研究项目都使用这个功能用于协作。

最佳实践

虽然单独工作可能很有趣, 但大多数时候你会发现自己是在一个团队中工作。在这种情况下,遵循指导方针和最佳实践非常重要,这样可以确保你的代码和 Jupyter Notebooks 被正确标注,以便与你的团队成员保持一致。下面我列出了一些最佳实践指南,你在 Jupyter Notebooks 上工作时一定要遵循以下指南:

  对于任何程序员来说最重要的事情之一:始终确保为代码添加合适的注释!

  确保你有代码所需的文档。

  考虑一个命名方案,并坚持在所有代码中使用以确保一致性。这样其他人更容易读懂你的代码。

  无论你需要什么库,在 Notebooks 开始时导入它们(并在它们旁边添加注释,说明导入它们的目的)。

  确保代码中行与行之间有适当间隔,不要把循环和函数放在同一行中。

  有时候你会发现你的文件变得非常繁重。看看有没有方法隐藏你认为对于以后参考不太重要的代码。 Notebooks 看起来整洁干净, 让人赏心悦目也非常重要。

  Matplotlib 可以很漂亮整洁地展示你的 Notebook,看看怎么使用它!

    地址:http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb

  另一个提示! 当你想创建演示文稿时,首先想到的工具是 PowerPoint 和 Google Slides。其实你的 Jupyter Notebooks 也可以创建幻灯片!还记得我说它超级灵活吗? 我一点都没有夸大。

  要将你的 Notebooks 转换为幻灯片,请转到  View -> Cell Toolbar,然后单击 Slideshow。看!现在,每个代码块都在右侧显示一个 Slide Type 的下拉选项。它提供了以下 5 个选项:

 

 
posted on 2020-01-08 18:06  始终不够啊  阅读(1115)  评论(0编辑  收藏  举报