![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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 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镜像站下载,安装过程中注意到这一步
![](http://upload-images.jianshu.io/upload_images/4064394-d87504c26a3916ac.png?imageMogr2/auto-orient/strip|imageView2/2/w/623/format/webp)
其中第一项指将Anaconda的默认环境设置添加到系统环境,也就是说如果你之前安装过python并添加到了环境,选了这一项之后原来的python会被覆盖掉,默认使用Anaconda的默认环境。
第二项指设置Anaconda的默认环境为python3.5.
安装完成后Anaconda会创建一个叫base的默认环境,如果你不切换到其他指定环境,就会一直在默认环境运行。
linux ubuntu系统Anaconda安装
下载Anaconda.sh 如果无法运行的话修改一下权限
sudo chmod +x 文件名
sudo ./文件名
看完版权声明设置完就好了
安装完成后如果没有加入系统环境windows需要通过Anaconda Prompt运行(anaconda prompt还有一个好处就是可以显示图表),如果加入系统环境变量就可以在cmd运行了![](http://upload-images.jianshu.io/upload_images/4064394-1d33c31f18e93c38.png?imageMogr2/auto-orient/strip|imageView2/2/w/291/format/webp)
我选择了加入系统变量,我们可以看到我的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环境管理
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
settings---project interpreter---点击右上角设置按钮---add local---system interpreter
接下来我们先研究单一环境下的Anaconda环境管理。
conda env --help
刚刚系统默认创建了名叫base的默认环境,我们可以使用conda命令查看当前有多少环境
conda env list 查看所有环境
或者
conda info --envs
![](http://upload-images.jianshu.io/upload_images/4064394-6b51e8429cbe751e.png?imageMogr2/auto-orient/strip|imageView2/2/w/329/format/webp)
我们可以看到只有一个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
![](http://upload-images.jianshu.io/upload_images/4064394-d858972ecb66c50b.png?imageMogr2/auto-orient/strip|imageView2/2/w/546/format/webp)
系统会询问你是否创建,输入y回车后,系统将列出必要安装的包
conda有一点好处是,如果你需要安装一个包,系统将自动检查这个包需要的前置包并且安装,比如你要安装TensorFlow,而TensorFlow会用到很多像前置包像pandas、matiplot等,如果你在单纯的python下没有安装pandas等包就直接安装TensorFlow,那么和有可能无法使用,而使用conda安装TensorFlow将会询问你并自动帮你把缺少的前置包安装好
创建完新的环境我们查看环境列表
conda env list
![](http://upload-images.jianshu.io/upload_images/4064394-0d59ab03b590499c.png?imageMogr2/auto-orient/strip|imageView2/2/w/464/format/webp)
只要你的硬盘够大,你就可以创造很多个不同的环境
那么现在我们有多个环境了,如何切换环境呢?
windows
activate 环境名
退出时记得退出命令哦
deactivate
linux和mac用户的命令不一样
source source activate 环境名
source deactivate 环境名
比如我现在进入刚刚创建的learningpy环境
activate learningpy
python --verion
![](http://upload-images.jianshu.io/upload_images/4064394-2eaf4dd6ac8680c5.png?imageMogr2/auto-orient/strip|imageView2/2/w/285/format/webp)
是不是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 在包后面显示来源
第三条执行安装包时会显示来自哪个源,一目了然
![](http://upload-images.jianshu.io/upload_images/4064394-c8a20d66e6722b6e.png?imageMogr2/auto-orient/strip|imageView2/2/w/1049/format/webp)
教育网用户可以添加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
![](http://upload-images.jianshu.io/upload_images/2403194-ba5dabb3db975345.png?imageMogr2/auto-orient/strip|imageView2/2/w/418/format/webp)
输入 :jupyter notebook
![](http://upload-images.jianshu.io/upload_images/2403194-c56f9adf43807ec6.png?imageMogr2/auto-orient/strip|imageView2/2/w/370/format/webp)
执行上面命令之后, Jupyter Notebook 将在你的默认浏览器中打开,网址为:http://localhost:8888/tree
或者在开始菜单页面直接打开
![](http://upload-images.jianshu.io/upload_images/2403194-70c0d4dd4aac5555.png?imageMogr2/auto-orient/strip|imageView2/2/w/949/format/webp)
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. 快捷键
- 向上插入一个cell:a
- 向下插入一个cell:b
- 删除cell:x
- 将code切换成markdown:m
- 将markdown切换成code:y
- 运行cell:shift+enter
- 查看帮助文档:shift+tab
- 自动提示:tab
3. 魔法指令
- 运行外部python源文件:%run xxx.py
- 计算statement的运行时间:%time statement
- 计算statement的平均运行时间:%timeit statement
- 测试多行代码的平均运行时间:
%%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)
![](http://upload-images.jianshu.io/upload_images/2403194-54bdf352dfb2e7e9.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
打开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" 选项。你会看到如下的截图:
![](http://upload-images.jianshu.io/upload_images/2403194-ec1998f8ee82a0d0.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
代码上方的菜单栏提供了操作单元格的各种选项:
insert (添加),edit (编辑),cut (剪切),move cell up/down (上下移动单元格),run cells(在单元格中运行代码),interupt (停止代码),save (保存工作),以及 restart (重新启动内核)
![](http://upload-images.jianshu.io/upload_images/2403194-65e35bbf6ab18809.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
在下拉菜单中(如上所示),你有四个选项:
Code - 这是你输入代码的地方
Markdown - 这是你输入文本的地方。你可以在运行代码后添加结论,添加注释等。
Raw NBConvert - 这是一个命令行工具,可将你的笔记本转换为另一种格式(如 HTML)
Heading - 你可以将标题添加到单独的小节并使你的 Notebook 看起来干净整洁。这个选项现在已经集成到 Markdown 选项中。添加一个“##”,以确保在你之后输入的内容将被视为标题
编辑界面
一个notebook的编辑界面主要由四部分组成:名称、菜单栏、工具条以及单元(Cell),如下图所示:
![](http://upload-images.jianshu.io/upload_images/2403194-bd9721bb87a8fbb2.png?imageMogr2/auto-orient/strip|imageView2/2/w/569/format/webp)
1.在这里,我们可以修改notebook的名字,直接点击当前名称,弹出对话框进行修改:
![](http://upload-images.jianshu.io/upload_images/2403194-87b677bb3dbc7bfd.png?imageMogr2/auto-orient/strip|imageView2/2/w/565/format/webp)
2.菜单栏详解
2.1 File
![](http://upload-images.jianshu.io/upload_images/2403194-223631e4c2f3e46e.png?imageMogr2/auto-orient/strip|imageView2/2/w/471/format/webp)
2.2 Edit
![](http://upload-images.jianshu.io/upload_images/2403194-0a5486ed40258b9c.png?imageMogr2/auto-orient/strip|imageView2/2/w/696/format/webp)
2.3 View
![](http://upload-images.jianshu.io/upload_images/2403194-0b72695d90254138.png?imageMogr2/auto-orient/strip|imageView2/2/w/396/format/webp)
2.4 Insert
![](http://upload-images.jianshu.io/upload_images/2403194-e8cfbf3158c583c0.png?imageMogr2/auto-orient/strip|imageView2/2/w/305/format/webp)
2.5 Cell
![](http://upload-images.jianshu.io/upload_images/2403194-c47d0d831ba3df52.png?imageMogr2/auto-orient/strip|imageView2/2/w/513/format/webp)
2.6 Kernel
![](http://upload-images.jianshu.io/upload_images/2403194-9653c1bf6eec803e.png?imageMogr2/auto-orient/strip|imageView2/2/w/477/format/webp)
2.7 Help
![](http://upload-images.jianshu.io/upload_images/2403194-19ad44381e57c173.png?imageMogr2/auto-orient/strip|imageView2/2/w/514/format/webp)
3. 工具条
工具条中的功能基本上在菜单中都可以实现,这里是为了能更快捷的操作,将一些常用按钮放了出来。下图是对各按钮的解释
![](http://upload-images.jianshu.io/upload_images/2403194-282ba55789257f6b.png?imageMogr2/auto-orient/strip|imageView2/2/w/691/format/webp)
4 .单元(Cell)
在单元中我们可以编辑文字、编写代码、绘制图片等等。对于单元的详细内容放在第五节中介绍。
单元(Cell)
1.两种模式与快捷键
对于Notebook中的单元,有两种模式:命令模式(Command Mode)与编辑模式(Edit Mode),在不同模式下我们可以进行不同的操作
![](http://upload-images.jianshu.io/upload_images/2403194-c3e4e4c626f0bd9f.png?imageMogr2/auto-orient/strip|imageView2/2/w/834/format/webp)
如上图,在编辑模式(Edit Mode)下,右上角出现一只铅笔的图标,单元左侧边框线呈现出绿色,点Esc键或运行单元格(ctrl-enter)切换回命令模式。
![](http://upload-images.jianshu.io/upload_images/2403194-c911b19187277528.png?imageMogr2/auto-orient/strip|imageView2/2/w/829/format/webp)
在命令模式(Command Mode)下,铅笔图标消失,单元左侧边框线呈现蓝色,按Enter键或者双击cell变为编辑状态。
2 .Cell的四种功能
![](http://upload-images.jianshu.io/upload_images/2403194-4816c29342919b0d.png?imageMogr2/auto-orient/strip|imageView2/2/w/215/format/webp)
Cell有四种功能:Code、Markdown、Raw NBConvert、Heading,这四种功能可以互相切换。Code用于写代码,Markdown用于文本编辑,Raw NBConvert中的文字或代码等都不会被运行,Heading是用于设置标题的,这个功能已经包含在Markdown中了。四种功能的切换可以使用快捷键或者工具条
Markdown用于编辑文本,给出常用的Markdown用法
![](http://upload-images.jianshu.io/upload_images/2403194-c12aeca153987ca2.png?imageMogr2/auto-orient/strip|imageView2/2/w/866/format/webp)
快捷键
一旦进入命令模式(即没有活动单元格),就可以尝试以下快捷键:
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 选项卡。这里面有很多非常棒的扩展供你使用
![](http://upload-images.jianshu.io/upload_images/2403194-5e9762541365aae1.png?imageMogr2/auto-orient/strip|imageView2/2/w/843/format/webp)
要启用一个扩展,只需点击它来激活。我在下面提到了4个我认为最有用的扩展:
Code prettify:重新格式化和美化代码块的内容
Printview:这个扩展添加了一个工具栏按钮来调用当前 Notebook 的 jupyter nbconvert,并可选择在新的浏览器标签中显示转换后的文件
Scratchpad:这个扩展增加一个便捷单元格,它可以让你运行你的代码而不必修改你的 Notebook。这是一个非常方便的扩展,特别是当你想要测试你的代码,但不想在你的活动Notebook上做这件事。
Table of Contents (2):这个扩展可以收集你的 Notebook 中的所有标题,并将它们显示在一个浮动窗口中
保存和共享你的 Notebook
这是 Jupyter Notebook 中最重要和最棒的功能之一。当我需要写博客文章,但我的代码和注释都保存在 Jupyter 文件中时,我需要先将它们转换为另一种格式。请记住,这些 Notebooks 采用 json 格式,在共享它时这并不是很有帮助。我无法在电子邮件或博客上发布不同的单元格或代码块,对吧?
进入 Files 菜单,你会看到一个 Download As 选项:
![](http://upload-images.jianshu.io/upload_images/2403194-fc13f2abc2da426e.png?imageMogr2/auto-orient/strip|imageView2/2/w/509/format/webp)
你可以将你的 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 个选项:
![](http://upload-images.jianshu.io/upload_images/2403194-c88aa1438fedd148.png?imageMogr2/auto-orient/strip|imageView2/2/w/458/format/webp)