Jupyter Notebook 介绍 安装和使用技巧

Jupyter Notebook介绍、安装及使用教程

原文连接:https://www.jianshu.com/p/91365f343585javascript

 

目录1、什么是Jupyter Notebook?

1. 简介

Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展现结果。——Jupyter Notebook官方介绍html

简而言之,Jupyter Notebook是以网页的形式打开,能够在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程当中须要编写说明文档,可在同一个页面中直接编写,便于做及时的说明和解释。java

2. 组成部分

① 网页应用

网页应用即基于网页形式的、结合了编写说明文档、数学公式、交互计算和其余富媒体形式的工具。简言之,网页应用是能够实现各类功能的工具。python

② 文档

即Jupyter Notebook中全部交互计算、编写说明文档、数学公式、图片以及其余富媒体形式的输入和输出,都是以文档的形式体现的。git

这些文档是保存为后缀名为.ipynbJSON格式文件,不只便于版本控制,也方便与他人共享。github

此外,文档还能够导出为:HTML、LaTeX、PDF等格式。shell

3. Jupyter Notebook的主要特色

  1. 编程时具备语法高亮缩进tab补全的功能。macos

  2. 可直接经过浏览器运行代码,同时在代码块下方展现运行结果。编程

  3. 以富媒体格式展现计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。vim

  4. 对代码编写说明文档或语句时,支持Markdown语法。

  5. 支持使用LaTeX编写数学性说明。

2、安装Jupyter Notebook

0. 先试用,再决定

若是看了以上对Jupyter Notebook的介绍你仍是拿不定主意到底是否适合你,那么不要担忧,你能够先免安装试用体验一下,戳这里,而后再作决定。

值得注意的是,官方提供的同时试用是有限的,若是你点击连接以后进入的页面以下图所示,那么不要着急,过会儿再试试看吧。


 
试用失败

若是你足够幸运,那么你将看到以下界面,就能够开始体验啦。

主界面


 

 

试用成功

编辑页面


 

编辑页面

1. 安装

① 安装前提

安装Jupyter Notebook的前提是须要安装了Python(3.3版本及以上,或2.7版本)。

② 使用Anaconda安装

若是你是小白,那么建议你经过安装Anaconda来解决Jupyter Notebook的安装问题,由于Anaconda已经自动为你安装了Jupter Notebook及其余工具,还有python中超过180个科学包及其依赖项。

你能够经过进入Anaconda的官方下载页面自行选择下载;若是你对阅读英文文档感到头痛,或者对安装步骤一无所知,甚至也想快速了解一下什么是Anaconda,那么能够前往个人另外一篇文章Anaconda介绍、安装及使用教程。你想要的,都在里面!

常规来讲,安装了Anaconda发行版时已经自动为你安装了Jupyter Notebook的,但若是没有自动安装,那么就在终端(Linux或macOS的“终端”,Windows的“Anaconda Prompt”,如下均简称“终端”)中输入如下命令安装:

conda install jupyter notebook

③ 使用pip命令安装

若是你是有经验的Python玩家,想要尝试用pip命令来安装Jupyter Notebook,那么请看如下步骤吧!接下来的命令都输入在终端当中的噢!

  1. 把pip升级到最新版本

    • Python 3.x
    pip3 install --upgrade pip
    • Python 2.x
    pip install --upgrade pip
  • 注意:老版本的pip在安装Jupyter Notebook过程当中或面临依赖项没法同步安装的问题。所以强烈建议先把pip升级到最新版本。
  1. 安装Jupyter Notebook

    • Python 3.x
    pip3 install jupyter
    • Python 2.x
    pip install jupyter

3、运行Jupyter Notebook

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页面。

 
 
no_browser

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

2. 主页面

① 主页面内容

当执行完启动命令以后,浏览器将会进入到Notebook的主页面,以下图所示。


 
Notebook Dashboard

若是你的主页面里边的文件夹跟个人不一样,或者你在疑惑为何首次启动里边就已经有这么多文件夹,不要担忧,这里边的文件夹全都是你的家目录里的目录文件。你能够在终端中执行如下2步来查看:

cdcd -cd ~cd /Users/<user_name>

  • 这个命令将会进入你的家目录。

  • “<user_name>” 是用户名。用户名两边不加尖括号“<>”。

ls

  • 这个命令将会展现你家目录下的文件。

② 设置Jupyter Notebook文件存放位置

若是你不想把从此在Jupyter Notebook中编写的全部文档都直接保存在家目录下,那你须要修改Jupyter Notebook的文件存放路径。

⑴ 建立文件夹/目录

  • Windows用户在想要存放Jupyter Notebook文件的磁盘新建文件夹并为该文件夹命名;双击进入该文件夹,而后复制地址栏中的路径。

  • Linux/macOS用户在想要存放Jupyter Notebook文件的位置建立目录并为目录命名,命令为:mkdir <directory_name>;进入目录,命令为:cd <directory_name>;查看目录的路径,命令为:pwd;复制该路径。

  • 注意:“<directory_name>”是自定义的目录名。目录名两边不加尖括号“<>”。

⑵ 配置文件路径

  • 一个便捷获取配置文件所在路径的命令:
jupyter notebook --generate-config
  • 注意: 这条命令虽然能够用于查看配置文件所在的路径,但主要用途是是否将这个路径下的配置文件替换默认配置文件
    若是你是第一次查询,那么或许不会出现下图的提示;若文件已经存在或被修改,使用这个命令以后会出现询问“Overwrite /Users/raxxie/.jupyter/jupyter_notebook_config.py with default config? [y/N]”,即“用默认配置文件覆盖此路径下的文件吗?”,若是按“y”,则完成覆盖,那么以前所作的修改都将失效;若是只是为了查询路径,那么必定要输入“N”。
 
 
命令

常规的状况下,Windows和Linux/macOS的配置文件所在路径和配置文件名以下所述:

  • Windows系统的配置文件路径:C:\Users\<user_name>\.jupyter\

  • Linux/macOS系统的配置文件路径:/Users/<user_name>/.jupyter/~/.jupyter/

  • 配置文件名:jupyter_notebook_config.py

  • 注意:

① “<user_name>”为你的用户名。用户名两边不加尖括号“<>”。

② Windows和Linux/macOS系统的配置文件存放路径实际上是相同的,只是系统不一样,表现形式有所不一样而已。

③ Windows和Linux/macOS系统的配置文件也是相同的。文件名以“.py”结尾,是Python的可执行文件。

④ 若是你不是经过一步到位的方式前往配置文件所在位置,而是一层一层进入文件夹/目录的,那么当你进入家目录后,用ls命令会发现找不到“.jupyter”文件夹/目录。这是由于凡是以“.”开头的目录都是隐藏文件,你能够经过ls -a命令查看当前位置下全部的隐藏文件。

⑶ 修改配置文件

  • Windows系统的用户可使用文档编辑工具或IDE打开“jupyter_notebook_config.py”文件并进行编辑。经常使用的文档编辑工具和IDE有记事本、Notepad++、vim、Sublime Text、PyCharm等。其中,vim是没有图形界面的,是一款学习曲线较为陡峭的编辑器,其余工具在此不作使用说明,由于上手相对简单。经过vim修改配置文件的方法请继续往下阅读。

  • Linux/macOS系统的用户建议直接经过终端调用vim来对配置文件进行修改。具体操做步骤以下:

⒜ 打开配置文件

打开终端,输入命令:

vim ~/.jupyter/jupyter_notebook_config.py
 
 
vim打开配置文件

执行上述命令后便进入到配置文件当中了。

⒝ 查找关键词

进入配置文件后查找关键词“c.NotebookApp.notebook_dir”。查找方法以下:

进入配置文件后不要按其余键,用英文半角直接输入/c.NotebookApp.notebook_dir,这时搜索的关键词已在文档中高亮显示了,按回车,光标从底部切换到文档正文中被查找关键词的首字母。

⒞ 编辑配置文件

小写i进入编辑模式,底部出现“--INSERT--”说明成功进入编辑模式。使用方向键把光标定位在第二个单引号上(光标定位在哪一个字符,就在这个字符前开始输入),把“⑴ 建立文件夹/目录”步骤中复制的路径粘贴在此处。

⒟ 取消注释

把该行行首的井号(#)删除。由于配置文件是Python的可执行文件,在Python中,井号(#)表示注释,即在编译过程当中不会执行该行命令,因此为了使修改生效,须要删除井号(#)。

config

 

⒠ 保存配置文件

先按ESC键,从编辑模式退出,回到命令模式。

再用英文半角直接输入:wq,回车即成功保存且退出了配置文件。

注意:

  • 冒号(:) 必定要有,且也是英文半角
  • w:保存。
  • q:退出。
⒡ 验证

在终端中输入命令jupyter notebook打开Jupyter Notebook,此时你会看到一个清爽的界面,恭喜!

 

modified

 

⒢ 注意
  • 以上全部命令均以英文半角格式输入,如有报错,请严格检查这两个条件,英文半角

  • 这里仅介绍了vim编辑器修改配置文件的方法,没有对vim编辑器的详细使用进行讲解,因此无需了解vim编辑器的具体使用方法,只须要按照上述步骤必定能够顺利完成修改!

  • 推荐有时间和经历时学习一下vim编辑器的使用。这款强大的编辑器将会成为你将来工做中的利器。

4、Jupyter Notebook的基本使用

1. Files页面

 

Files页面

此时你的界面当中应该尚未“Conda”和“Nbextensions”类目。不要着急,这两个类目将分别在“5、拓展功能”中的“1.关联Jupyter Notebook和conda的环境和包——‘nb_conda’”和“2.Markdown生成目录”中安装。

Files页面是用于管理和建立文件相关的类目。

对于现有的文件,能够经过勾选文件的方式,对选中文件进行复制、重命名、移动、下载、查看、编辑和删除的操做。

同时,也能够根据须要,在“New”下拉列表中选择想要建立文件的环境,进行建立“ipynb”格式的笔记本、“txt”格式的文档、终端或文件夹。若是你建立的环境没有在下拉列表中显示,那么你须要依次前往“5、拓展功能”中的“1.关联Jupyter Notebook和conda的环境和包——‘nb_conda’”和“6、增长内核——‘ipykernel’”中解决该问题。

① 笔记本的基本操做

 

 
笔记本的使用

上图展现的是笔记本的基本结构和功能。根据图中的注解已经能够解决绝大多数的使用问题了!

工具栏的使用如图中的注解同样直观,在此不过多解释。须要特别说明的是“单元格的状态”,有Code,Markdown,Heading,Raw NBconvert。其中,最经常使用的是前两个,分别是代码状态,Markdown编写状态。Jupyter Notebook已经取消了Heading状态,即标题单元格。取而代之的是Markdown的一级至六级标题。而Raw NBconvert目前极少用到,此处也不作过多讲解。

菜单栏涵盖了笔记本的全部功能,即使是工具栏的功能,也均可以在菜单栏的类目里找到。然而,并非全部功能都是经常使用的,好比Widgets,Navigate。Kernel类目的使用,主要是对内核的操做,好比中断、重启、链接、关闭、切换内核等,因为咱们在建立笔记本时已经选择了内核,所以切换内核的操做便于咱们在使用笔记本时切换到咱们想要的内核环境中去。因为其余的功能相对比较常规,根据图中的注解来尝试使用笔记本的功能已经很是便捷,所以再也不作详细讲解。

② 笔记本重命名的两种方式

⑴ 笔记本内部重命名

在使用笔记本时,能够直接在其内部进行重命名。在左上方“Jupyter”的图标旁有程序默认的标题“Untitled”,点击“Untitled”而后在弹出的对话框中输入自拟的标题,点击“Rename”即完成了重命名。

⑵ 笔记本外部重命名

若在使用笔记本时忘记了重命名,且已经保存并退出至“Files”界面,则在“Files”界面勾选须要重命名的文件,点击“Rename”而后直接输入自拟的标题便可。

⑶ 演示

 

重命名

2. Running页面

Running页面主要展现的是当前正在运行当中的终端和“ipynb”格式的笔记本。若想要关闭已经打开的终端和“ipynb”格式的笔记本,仅仅关闭其页面是没法完全退出程序的,须要在Running页面点击其对应的“Shutdown”。更多关闭方法能够查阅“8、关闭和退出”中的“1.关闭笔记本和终端

 
Running

3. Clusters页面

Clusters tab is now provided by IPython parallel. See 'IPython parallel' for installation details.

Clusters类目如今已由IPython parallel对接,且因为现阶段使用频率较低,所以在此不作详细说明,想要了解更多能够访问IPython parallel的官方网站

4. Conda页面

Conda页面主要是Jupyter Notebook与Conda关联以后对Conda环境和包进行直接操做和管理的页面工具。详细信息请直接查阅“5、拓展功能”中的“1.关联Jupyter Notebook和conda的环境和包——‘nb_conda’”。这是目前使用Jupyter Notebook的必备环节,所以请务必查阅。

5. Nbextensions页面

 
nbextensions

Nbextensions页面提供了多个Jupyter Notebook的插件,使其功能更增强大。该页面中主要使用的插件有nb_conda,nb_present,Table of Contents(2)。这些功能咱们无需彻底掌握,也无需安装全部的扩展功能,根据本文档提供的学习思路,咱们只须要安装Talbe of Contents(2)便可,该功能可为Markdown文档提供目录导航,便于咱们编写文档。该安装指导请查阅“5、拓展功能”中的“2.Markdown生成目录”。

5、拓展功能

<a id=conda></a>

1. 关联Jupyter Notebook和conda的环境和包——“nb_conda”☆

① 安装

conda install nb_conda

执行上述命令可以将你conda建立的环境与Jupyter Notebook相关联,便于你在Jupyter Notebook的使用中,在不一样的环境下建立笔记本进行工做。

② 使用

  • 能够在Conda类目下对conda环境和包进行一系列操做。

    conda类目
  • 能够在笔记本内的“Kernel”类目里的“Change kernel”切换内核。


     
    切换内核

③ 卸载

canda remove nb_conda

执行上述命令便可卸载nb_conda包。

<a id=nbextensions></a>

2. Markdown生成目录

  • 不一样于有道云笔记的Markdown编译器,Jupyter Notebook没法为Markdown文档经过特定语法添加目录,所以须要经过安装扩展来实现目录的添加。
conda install -c conda-forge jupyter_contrib_nbextensions
  • 执行上述命令后,启动Jupyter Notebook,你会发现导航栏多了“Nbextensions”的类目,点击“Nbextensions”,勾选“Table of Contents ⑵”


     
    nbextensions
  • 以后再在Jupyter Notebook中使用Markdown,点击下图的图标便可使用啦。

  • 添加目录

3. Markdown在文中设置连接并定位

在使用Markdown编辑文档时,不免会遇到须要在文中设定连接,定位在文档中的其余位置便于查看。由于Markdown能够完美的兼容html语法,所以这种功能能够经过html语法当中“a标签”的索引用法来实现。

语法格式以下:

[添加连接的正文](#自定义索引词)
<a id=自定义索引词>跳转提示</a>
  • 注意:

    1. 语法格式当中全部的符号均是英文半角
    2. “自定义索引词”最好是英文,较长的词能够用下划线链接。
    3. “a标签”出如今想要被跳转到的文章位置,html标签除了单标签外均要符合“有头(<a>)必有尾(</a>)”的原则。头尾之间的“跳转提示”是无关紧要的。
    4. “a标签”中的“id”值便是为正文中添加连接时设定的“自定义索引值”,这里经过“id”的值实现从正文的连接跳转至指定位置的功能。
  • 例:

    1. 有跳转提示语

       
      有提示语
    2. 无跳转提示语

       
      无提示语

4. 加载指定网页源代码

① 使用场景

想要在Jupyter Notebook中直接加载指定网站的源代码到笔记本中。

② 方法

执行如下命令:

%load URL

其中,URL为指定网站的地址。

③ 例

 
加载指定网站源代码

5. 加载本地Python文件

① 使用场景

想在Jupyter Notebook中加载本地的Python文件并执行文件代码。

② 方法

执行如下命令:

%load Python文件的绝对路径

③ 注意

  1. Python文件的后缀为“.py”。
  2. “%load”后跟的是Python文件的绝对路径
  3. 输入命令后,能够按CTRL 回车来执行命令。第一次执行,是将本地的Python文件内容加载到单元格内。此时,Jupyter Notebook会自动将“%load”命令注释掉(即在前边加井号“#”),以便在执行已加载的文件代码时不重复执行该命令;第二次执行,则是执行已加载文件的代码。

④ 例

加载本地Python文件

6. 直接运行本地Python文件

① 使用场景

不想在Jupyter Notebook的单元格中加载本地Python文件,想要直接运行。

② 方法

执行命令:

%run Python文件的绝对路径

!python3 Python文件的绝对路径

!python Python文件的绝对路径

③ 注意

  1. Python文件的后缀为“.py”。
  2. “%run”后跟的是Python文件的绝对路径
  3. “!python3”用于执行Python 3.x版本的代码。
  4. “!python”用于执行Python 2.x版本的代码。
  5. “!python3”和“!python”属于 !shell命令 语法的使用,即在Jupyter Notebook中执行shell命令的语法。
  6. 输入命令后,能够按 CTRL 回车 来执行命令,执行过程当中将不显示本地Python文件的内容,直接显示运行结果。

④ 例

直接运行Python文件

7. 在Jupyter Notebook中获取当前位置

① 使用场景

想要在Jupyter Notebook中获取当前所在位置的绝对路径

② 方法

%pwd

!pwd

③ 注意

  1. 获取的位置是当前Jupyter Notebook中建立的笔记本所在位置,且该位置为绝对路径
  2. “!pwd”属于 !shell命令 语法的使用,即在Jupyter Notebook中执行shell命令的语法。

④ 例

获取当前路径

8. 在Jupyter Notebook使用shell命令

① 方法一——在笔记本的单元格中

⑴ 语法

!shell命令
  • 在Jupyter Notebook中的笔记本单元格中用英文感叹号“!”后接shell命令便可执行shell命令。

⑵ 例

shell命令

② 方法二——在Jupyter Notebook中新建终端

⑴ 启动方法

在Jupyter Notebook主界面,即“File”界面中点击“New”;在“New”下拉框中点击“Terminal”即新建了终端。此时终端位置是在你的家目录,能够经过pwd命令查询当前所在位置的绝对路径。

⑵ 关闭方法

在Jupyter Notebook的“Running”界面中的“Terminals”类目中能够看到正在运行的终端,点击后边的“Shutdown”便可关闭终端。

⑶ 例

 
终端

9. 隐藏笔记本输入单元格

① 使用场景

在Jupyter Notebook的笔记本中不管是编写文档仍是编程,都有输入(In [])和输出(Out [])。当咱们编写的代码或文档使用的单元格较多时,有时咱们只想关注输出的内容而暂时不看输入的内容,这时就须要隐藏输入单元格而只显示输出单元格。

② 方法一

⑴ 代码

from IPython.display import display
from IPython.display import HTML
import IPython.core.display as di # Example: di.display_html('<h3>%s:</h3>' % str, raw=True)

# 这行代码的做用是:当文档做为HTML格式输出时,将会默认隐藏输入单元格。
di.display_html('<script>jQuery(function() {if (jQuery("body.notebook_app").length == 0) { jQuery(".input_area").toggle(); jQuery(".prompt").toggle();}});</script>', raw=True)

# 这行代码将会添加“Toggle code”按钮来切换“隐藏/显示”输入单元格。
di.display_html('''<button onclick="jQuery('.input_area').toggle(); jQuery('.prompt').toggle();">Toggle code</button>''', raw=True)

在笔记本第一个单元格中输入以上代码,而后执行,便可在该文档中使用“隐藏/显示”输入单元格功能。

  • 缺陷:此方法不能很好的适用于Markdown单元格。

⑵ 例

 
隐藏/显示方法一

③ 方法二

⑴ 代码

from IPython.display import HTML

HTML('''<script> code_show=true; function code_toggle() { if (code_show){ $('div.input').hide(); } else { $('div.input').show(); } code_show = !code_show } $( document ).ready(code_toggle); </script>
<form action="javascript:code_toggle()"><input type="submit" value="Click here to toggle on/off the raw code."></form>''')

在笔记本第一个单元格中输入以上代码,而后执行,便可在该文档中使用“隐藏/显示”输入单元格功能。

  • 缺陷:此方法不能很好的适用于Markdown单元格。

⑵ 例

 
隐藏/显示方法二

10. 魔术命令

因为目前暂时用不到过多的魔术命令,所以暂时先参考官网的文档

<a id=ipykernel></a>

6、增长内核——“ipykernel” ☆

1. 使用场景

  1. 场景一:同时用不一样版本的Python进行工做,在Jupyter Notebook中没法切换,即“New”的下拉菜单中没法使用须要的环境。

  2. 场景二:建立了不一样的虚拟环境(或许具备相同的Python版本但安装的包不一样),在Jupyter Notebook中没法切换,即“New”的下拉菜单中没法使用须要的环境。

接下来将分别用“命令行模式”和“图形界面模式”来解决以上两个场景的问题。顾名思义,“命令行模式”即在终端中经过执行命令来一步步解决问题;“图形界面模式”则是经过在Jupyter Notebook的网页中经过鼠标点击的方式解决上述问题。

其中,“图形界面模式”的解决方法相对比较简单快捷,若是对于急于解决问题,不须要知道运行原理的朋友,能够直接进入“3. 解决方法之图形界面模式”来阅读。

“命令行模式”看似比较复杂,且又划分了使用场景,但经过这种方式来解决问题能够更好的了解其中的工做原理,好比,每进行一步操做对应的命令是什么,而命令的执行是为了达到什么样的目的,这些可能都被封装在图形界面上的一个点击动做来完成了。对于想更深刻了解其运做过程的朋友,能够接着向下阅读。

2. 解决方法之命令行模式

① 同时使用不一样版本的Python

⑴ 在Python 3中建立Python 2内核

⒜ pip安装
  • 首先安装Python 2的ipykernel包。
python2 -m pip install ipykernel
  • 再为当前用户安装Python 2的内核(ipykernel)。
python2 -m ipykernel install --user
  • 注意:“--user”参数的意思是针对当前用户安装,而非系统范围内安装。
⒝ conda安装
  • 首先建立Python版本为2.x且具备ipykernel的新环境,其中“<env_name>”为自定义环境名,环境名两边不加尖括号“<>”。
conda create -n <env_name> python=2 ipykernel
  • 而后切换至新建立的环境。
Windows: activate <env_name>
Linux/macOS: source activate <env_name>
  • 当前用户安装Python 2的内核(ipykernel)。
python2 -m ipykernel install --user
  • 注意:“--user”参数的意思是针对当前用户安装,而非系统范围内安装。

⑵ 在Python 2中建立Python 3内核

⒜ pip安装
  • 首先安装Python 3的ipykernel包。
python3 -m pip install ipykernel
  • 再为当前用户安装Python 2的内核(ipykernel)。
python3 -m ipykernel install --user
  • 注意:“--user”参数的意思是针对当前用户安装,而非系统范围内安装。
⒝ conda安装
  • 首先建立Python版本为3.x且具备ipykernel的新环境,其中“<env_name>”为自定义环境名,环境名两边不加尖括号“<>”。
conda create -n <env_name> python=3 ipykernel
  • 而后切换至新建立的环境。
Windows: activate <env_name>
Linux/macOS: source activate <env_name>
  • 当前用户安装Python 3的内核(ipykernel)。
python3 -m ipykernel install --user
  • 注意:“--user”参数的意思是针对当前用户安装,而非系统范围内安装。

② 为不一样环境建立内核

⑴ 切换至需安装内核的环境

Windows: activate <env_name>
Linux/macOS: source activate <env_name>
  • 注意:“<env_name>”是须要安装内核的环境名称,环境名两边不加尖括号“<>”。

⑵ 检查该环境是否安装了ipykernel包

conda list

执行上述命令查看当前环境下安装的包,若没有安装ipykernel包,则执行安装命令;不然进行下一步。

conda install ipykernel

⑶ 为当前环境下的当前用户安装Python内核

  • 若该环境的Python版本为2.x,则执行命令:
python2 -m ipykernel install --user --name <env_name> --display-name "<notebook_name>"
  • 若该环境的Python版本为3.x,则执行命令:
python3 -m ipykernel install --user --name <env_name> --display-name "<notebook_name>"
  • 注意:
    1. “<env_name>”为当前环境的环境名称。环境名两边不加尖括号“<>”。

    2. “<notebook_name>”为自定义显示在Jupyter Notebook中的名称。名称两边不加尖括号“<>”,但双引号必须加

    3. “--name”参数的值,即“<env_name>”是Jupyter内部使用的,其目录的存放路径为~/Library/Jupyter/kernels/。若是定义的名称在该路径已经存在,那么将自动覆盖该名称目录的内容。

    4. “--display-name”参数的值是显示在Jupyter Notebook的菜单中的名称。

⑷ 检验

使用命令jupyter notebook启动Jupyter Notebook;在“Files”下的“New”下拉框中便可找到你在第⑶步中的自定义名称,此时,你即可以尽情地在Jupyter Notebook中切换环境,在不一样的环境中建立笔记本进行工做和学习啦!

<a id=gui></a>

3. 解决方法之图形界面模式

① 你建立了一个新的环境,但却发如今Jupyter Notebook的“New”中找不到这个环境,没法在该环境中建立笔记本。


 
图形界面_问题

② 进入Jupyter Notebook → Conda → 在“Conda environment”中点击你要添加ipykernel包的环境 → 左下方搜索框输入“ipykernel” → 勾选“ipykernel” → 点击搜索框旁的“→”箭头 → 安装完毕 → 右下方框内找到“ipykernel”说明已经安装成功。

 
图形界面_解决

③ 在终端CTRL C关闭Jupyter Notebook的服务器而后重启Jupyter Notebook,在“File”的“New”的下拉列表里就能够找到你的环境啦。

 
图形界面_验证

7、Jupyter Notebook快捷键

1. Mac与Windows特殊按键对照表

符号 Mac按键 Windows按键
command
control ctrl
option alt
shift shift
return return
space space
tab tab
delete backspace
fn delete delete
- - -

2. Jupyter Notebook笔记本的两种模式

① 命令模式

  • 命令模式将键盘命令与Jupyter Notebook笔记本命令相结合,能够经过键盘不一样键的组合运行笔记本的命令。

  • esc键进入命令模式。

  • 命令模式下,单元格边框为灰色,且左侧边框线为蓝色粗线条。

 
命令模式

② 编辑模式

  • 编辑模式使用户能够在单元格内编辑代码或文档。

  • enterreturn键进入编辑模式。

  • 编辑模式下,单元格边框和左侧边框线均为绿色。

 
编辑模式

3. 两种模式的快捷键

① 命令模式

快捷键 用途
F 查找和替换
进入编辑模式
⌘⇧F 打开命令选项板
⌘⇧P 打开命令选项板
P 打开命令选项板
⇧↩ 运行当前单元格并选中下一个单元格
⌃↩ 运行选中单元格
⌥↩ 运行当前单元格而且在下方插入单元格
Y 将单元格切换至code状态
M 将单元格切换至markdown状态
R 将单元格切换至raw状态
1 将单元格设定一级标题
2 将单元格设定二级标题
3 将单元格设定三级标题
4 将单元格设定四级标题
5 将单元格设定五级标题
6 将单元格设定六级标题
选中上方单元格
K 选中上方单元格
选中下方单元格
J 选中下方单元格
⇧K 向上多选单元格
⇧↑ 向上多选单元格
⇧J 向下多选单元格
⇧↓ 向下多选单元格
A 在上方插入单元格
B 在下方插入单元格
X 剪切选中单元格
C 复制选中单元格
⇧V 粘贴到上方单元格
V 粘贴到下方单元格
Z 撤销删除
D, D 删除选中单元格
⇧M 合并选中单元格,若直选中一个则与下一个单元格合并
⌘S 保存
S 保存
L 转换行号
O 转换输出
⇧O 转换滚动输出
H 显示快捷键帮助
I, I 中断Notebook内核
O, O 重启Notebook内核
esc 关闭页面
Q 关闭页面
⇧L 转换全部单元格行号且设置持续有效
⇧␣ 向上滚动
向下滚动

② 编辑模式

Mac快捷键 Windows快捷键 用途
代码补全或缩进
⇧⇥ ⇧⇥ 提示
⌘] ⌃] 向后缩进
⌘[ ⌃[ 向前缩进
⌘A ⌃A 全选
⌘Z ⌃Z 撤销
⌘/   注释
⌘D   删除该行内容
⌘U   撤销
⌘↑ ⌃↑ 光标跳转至单元格起始位置
⌘↓ ⌃↓ 光标跳转至单元格最终位置
⌥← ⌃← 光标位置左移一个单词
⌥→ ⌃→ 光标位置右移一个单词
⌥⌫ ⌃⌫ 删除前边一个单词
⌥⌦ ⌃⌦ 删除后边一个单词
⌘⇧Z ⌃Y 重作
⌘⇧U ⌃⇧Z 重作
⌘⌫ ⌃⌫ 删除该行光标左边内容
⌘⌦ ⌃⌦ 删除该行光标右边内容
⌃M ⌃M 进入命令模式
esc esc 进入命令模式
⌘⇧F   打开命令选项板
⌘⇧P   打开命令选项板
⇧↩ ⇧↩ 运行当前单元格并选中下一个单元格
⌃↩ ⌃↩ 运行选中单元格
⌥↩ ⌥↩ 运行当前单元格而且在下方插入单元格
⌃⇧- ⌃⇧- 以光标所在位置分割单元格
⌘S ⌃S 保存
下移光标
上移光标

4. 查看和编辑快捷键

① 查看快捷键

① 进入Jupyter Notebook主界面“File”中。

② 在“New”的下拉列表中选择环境建立一个笔记本。

③ 点击“Help”。

④ 点击“Keyboard Shortcuts”。

② 编辑快捷键

⑴ 方法一

① 进入Jupyter Notebook主界面“File”中。

② 在“New”的下拉列表中选择环境建立一个笔记本。

③ 点击“Help”。

④ 点击“Keyboard Shortcuts”。

⑤ 弹出的对话框中“Command Mode (press Esc to enable)”旁点击“Edit Shortcuts”按钮。

⑵ 方法二

① 进入Jupyter Notebook主界面“File”中。

② 在“New”的下拉列表中选择环境建立一个笔记本。

③ 点击“Help”。

④ 点击“Edit Keyboard Shortcuts”。

③ 例

 
查看和编辑快捷键

8、关闭和退出

<a id=quit></a>

1. 关闭笔记本和终端

当咱们在Jupyter Notebook中建立了终端或笔记本时,将会弹出新的窗口来运行终端或笔记本。当咱们使用完毕想要退出终端或笔记本时,仅仅关闭页面是没法结束程序运行的,所以咱们须要经过如下步骤将其彻底关闭。

① 方法一

⑴ 进入“Files”页面。

⑵ 勾选想要关闭的“ipynb”笔记本。正在运行的笔记本其图标为绿色,且后边标有“Running”的字样;已经关闭的笔记本其图标为灰色。

⑶ 点击上方的黄色的“Shutdown”按钮。

⑷ 成功关闭笔记本。

  • 注意:此方法只能关闭笔记本,没法关闭终端。

② 方法二

⑴ 进入“Running”页面。

⑵ 第一栏是“Terminals”,即全部正在运行的终端均会在此显示;第二栏是“Notebooks”,即全部正在运行的“ipynb”笔记本均会在此显示。

⑶ 点击想要关闭的终端或笔记本后黄色“Shutdown”按钮。

⑷ 成功关闭终端或笔记本。

  • 注意:此方法能够关闭任何正在运行的终端和笔记本。

③ 注意

⑴ 只有“ipynb”笔记本和终端须要经过上述方法才能使其结束运行。

⑵ “txt”文档,即“New”下拉列表中的“Text File”,以及“Folder”只要关闭程序运行的页面即结束运行,无需经过上述步骤关闭。

④ 演示

 
关闭笔记本和终端

2. 退出Jupyter Notebook程序

若是你想退出Jupyter Notebook程序,仅仅经过关闭网页是没法退出的,由于当你打开Jupyter Notebook时,实际上是启动了它的服务器。

你能够尝试关闭页面,并打开新的浏览器页面,把以前的地址输进地址栏,而后跳转页面,你会发现再次进入了刚才“关闭”的Jupyter Notebook页面。

若是你忘记了刚才关闭的页面地址,能够在启动Jupyter Notebook的终端中找到地址,复制并粘贴至新的浏览器页面的地址栏,会发现一样可以进入刚才关闭的页面。

所以,想要完全退出Jupyter Notebook,须要关闭它的服务器。只须要在它启动的终端上按:

  • Mac用户:control c
  • Windows用户:ctrl c

而后在终端上会提示:“Shutdown this notebook server (y/[n])?”输入y便可关闭服务器,这才是完全退出了Jupyter Notebook程序。此时,若是你想要经过输入刚才关闭网页的网址进行访问Jupyter Notebook便会看到报错页面。

9、参考资料

1.知乎:jupyter notebook 能够作哪些事情?猴子的回答

  1. Jupyter Notebook官方介绍

  2. Anaconda官方下载页面

  3. Python·Jupyter Notebook各类使用方法记录

  4. Stack Overflow中有关如何隐藏/显示输入单元格的问题

  5. 魔术命令官方文档

  6. Jupyter Notebook 的快捷键

  7. Jupyter Notebook官方文档

相关文章
相关标签/搜索