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

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

  • 一、什么是Jupyter Notebook?
    • 简介
    • 组成部分
      • 网页应用
      • 文档
      • Jupyter Notebook的主要特点
  • 二、安装Jupyter Notebook
    • 先试用,再决定
    • 安装
      • 安装前提
      • 使用Anaconda安装
      • 使用pip命令安装
  • 三、运行Jupyter Notebook
    • 帮助
    • 启动
      • 默认端口启动
      • 指定端口启动
      • 启动服务器但不打开浏览器
    • 主页面
      • 主页面内容
      • 设置Jupyter Notebook文件存放位置
        • 创建文件夹/目录
        • 配置文件路径
        • 修改配置文件
          • 打开配置文件
          • 查找关键词
          • 编辑配置文件
          • 取消注释
          • 保存配置文件
          • 验证
          • 注意
  • 四、Jupyter Notebook的基本使用
    • Files页面
      • 笔记本的基本操作
      • 笔记本重命名的两种方式
        • 笔记本内部重命名
        • 笔记本外部重命名
    • Running页面
    • Clusters页面
    • Conda页面
    • Nbextensions页面
  • 五、拓展功能
    • 关联Jupyter Notebook和conda的环境和包——“nb_conda”☆
      • 安装
      • 使用
      • 卸载
    • Markdown生成目录
    • Markdown在文中设置链接并定位
    • 加载指定网页源代码
      • 使用场景
      • 方法
    • 加载本地Python文件
      • 使用场景
      • 方法
      • 注意
    • 直接运行本地Python文件
      • 使用场景
      • 方法
      • 注意
    • 在Jupyter Notebook中获取当前位置
      • 使用场景
      • 方法
      • 注意
    • 在Jupyter Notebook使用shell命令
      • 方法一、在笔记本的单元格中
      • 方法二、在Jupyter Notebook中新建终端
        • 启动方法
        • 关闭方法
    • 隐藏笔记本输入单元格
      • 使用场景
      • 方法一
      • 方法二
    • 魔术命令
  • 六、增加内核——“ipykernel” ☆
    • 使用场景
    • 解决方法之命令行模式
      • 同时使用不同版本的Python
        • 在Python 3中创建Python 2内核
          • pip安装
          • conda安装
        • 在Python 2中创建Python 3内核
          • pip安装
          • conda安装
      • 为不同环境创建内核
        • 切换至需安装内核的环境
        • 检查该环境是否安装了ipykernel包
        • 为当前环境下的当前用户安装Python内核
        • 检验
    • 解决方法之图形界面模式
    • 七、Jupyter Notebook快捷键
      • Mac与Windows特殊按键对照表
      • Jupyter Notebook笔记本的两种模式
        • 命令模式
        • 编辑模式
      • 两种模式的快捷键
        • 命令模式
        • 编辑模式
      • 查看和编辑快捷键
        • 查看快捷键
        • 编辑快捷键
          • 方法一
          • 方法二
  • 关闭和退出
    • 关闭笔记本和终端
      • 方法一
      • 方法二
      • 注意
    • 退出Jupyter Notebook程序

一、什么是Jupyter Notebook?

简介

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

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

组成部分

网页应用

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

文档

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

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

此外,文档还可以导出为:HTML、LaTeX、PDF 等格式。

Jupyter Notebook的主要特点

  1. 编程时具有语法高亮、缩进、tab补全的功能。
  2. 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。
  3. 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。
  4. 对代码编写说明文档或语句时,支持Markdown语法。
  5. 支持使用LaTeX编写数学性说明。

二、安装Jupyter Notebook

先试用,再决定

如果看了以上对Jupyter Notebook的介绍你还是拿不定主意究竟是否适合你,那么不要担心,你可以先免安装试用体验一下,戳这里,然后再做决定。

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

在这里插入图片描述

试用满线

如果你足够幸运,那么你将看到如下界面,就可以开始体验啦。
在这里插入图片描述

在这里插入图片描述

安装

安装前提

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

使用Anaconda安装

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

你可以通过进入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升级到最新版本。

2. 安装Jupyter Notebook

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

三、运行Jupyter Notebook

帮助

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

jupyter notebook --help 

jupyter notebook -h

启动

默认端口启动

在终端中输入以下命令:

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则是端口号。

在这里插入图片描述
如果你同时启动了多个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”。

主页面

主页面内容

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

在这里插入图片描述
如果你的主页面里边的文件夹跟我的不同,或者你在疑惑为什么首次启动里边就已经有这么多文件夹,不要担心,这里边的文件夹全都是你的家目录里的目录文件。你可以在终端中执行以下2步来查看:

  1. cd 或 cd - 或 cd ~ 或cd /Users/<user_name>
    • 这个命令将会进入你的计算机目录。
    • <user_name> 是用户名。用户名两边不加尖括号“<>”。
  2. 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

在这里插入图片描述
执行上述命令后便进入到配置文件当中了。

查找关键词

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

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

编辑配置文件

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

取消注释

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

保存配置文件

先按esc键,从编辑模式退出,回到命令模式。
再用英文半角直接输入:wq,回车即成功保存且退出了配置文件。

注意:

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

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

在这里插入图片描述

注意
  • 以上所有命令均以英文半角格式输入,若有报错,请严格检查这两个条件,英文且半角
  • 这里仅介绍了vim编辑器修改配置文件的方法,没有对vim编辑器的详细使用进行讲解,所以无需了解vim编辑器的具体使用方法,只需要按照上述步骤一定可以顺利完成修改!
  • 推荐有时间和经历时学习一下vim编辑器的使用。这款强大的编辑器将会成为你未来工作中的利器。

四、Jupyter Notebook的基本使用

Files页面

在这里插入图片描述
此时你的界面当中应该还没有“Conda”和“Nbextensions”类目。不要着急,后续会提到

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

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

同时,也可以根据需要,在“New”下拉列表中选择想要创建文件的环境,进行创建“ipynb”格式的笔记本、“txt”格式的文档、终端或文件夹。

笔记本的基本操作

在这里插入图片描述
上图展示的是笔记本的基本结构和功能。根据图中的注解已经可以解决绝大多数的使用问题了!

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

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

笔记本重命名的两种方式

笔记本内部重命名

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

笔记本外部重命名

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

Running页面

Running页面主要展示的是当前正在运行当中的终端和“ipynb”格式的笔记本。若想要关闭已经打开的终端和“ipynb”格式的笔记本,仅仅关闭其页面是无法彻底退出程序的,需要在Running页面点击其对应的“Shutdown”。

Clusters页面

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

Clusters类目现在已由IPython parallel对接,且由于现阶段使用频率较低,因此在此不做详细说明,想要了解更多可以访问IPython parallel的官方网站。

Conda页面

Conda页面主要是Jupyter Notebook与Conda关联之后对Conda环境和包进行直接操作和管理的页面工具。

Nbextensions页面

Nbextensions页面提供了多个Jupyter Notebook的插件,使其功能更加强大。该页面中主要使用的插件有nb_conda,nb_present,Table of Contents(2)。这些功能我们无需完全掌握,也无需安装所有的扩展功能,根据本文档提供的学习思路,我们只需要安装Talbe of Contents(2)即可,该功能可为Markdown文档提供目录导航,便于我们编写文档。

在这里插入图片描述

五、拓展功能

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

安装

conda install nb_conda

执行上述命令能够将你conda创建的环境与Jupyter Notebook相关联,便于你在Jupyter Notebook的使用中,在不同的环境下创建笔记本进行工作。

使用

  • 可以在Conda类目下对conda环境和包进行一系列操作。

在这里插入图片描述

  • 可以在笔记本内的“Kernel”类目里的“Change kernel”切换内核。
    在这里插入图片描述

卸载

canda remove nb_conda

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

Markdown生成目录

  • 不同于有道云笔记的Markdown编译器,Jupyter Notebook无法为Markdown文档通过特定语法添加目录,因此需要通过安装扩展来实现目录的添加。
conda install -c conda-forge jupyter_contrib_nbextensions
  • 执行上述命令后,启动Jupyter Notebook,你会发现导航栏多了“Nbextensions”的类目,点击“Nbextensions”,勾选“Table of Contents ⑵”
    在这里插入图片描述
  • 之后再在Jupyter Notebook中使用Markdown,点击下图的图标即可使用啦。
    在这里插入图片描述

Markdown在文中设置链接并定位

在使用Markdown编辑文档时,难免会遇到需要在文中设定链接,定位在文档中的其他位置便于查看。因为Markdown可以完美的兼容html语法,因此这种功能可以通过html语法当中“a标签”的索引用法来实现。

语法格式如下:

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

注意:

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

加载指定网页源代码

使用场景

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

方法

执行以下命令:

%load URL

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

加载本地Python文件

使用场景

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

方法

执行以下命令:

%load Python文件的绝对路径

注意

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

直接运行本地Python文件

使用场景

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

方法

执行以下命令:

%run Python文件的绝对路径

!python3 Python文件的绝对路径

!python Python文件的绝对路径

注意

  • Python文件的后缀为“.py”。
  • “%run”后跟的是Python文件的绝对路径。
  • “!python3”用于执行Python3.x版本的代码。
  • “!python”用于执行Python2.x版本的代码。
  • “!python3”和“!python”属于 !shell命令 语法的使用,即在Jupyter Notebook中执行shell命令的语法。
  • 输入命令后,可以按 control return 来执行命令,执行过程中将不显示本地Python文件的内容,直接显示运行结果。

在Jupyter Notebook中获取当前位置

使用场景

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

方法

%pwd

!pwd

注意

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

在Jupyter Notebook使用shell命令

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

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

方法二、在Jupyter Notebook中新建终端

启动方法

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

关闭方法

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

隐藏笔记本输入单元格

使用场景

在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 HTMLHTML('''<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单元格。

魔术命令

由于目前暂时用不到过多的魔术命令,因此暂时先参考官网的文档。

六、增加内核——“ipykernel” ☆

使用场景

  • 场景一:同时用不同版本的Python进行工作,在Jupyter Notebook中无法切换,即“New”的下拉菜单中无法使用需要的环境。
  • 场景二:创建了不同的虚拟环境(或许具有相同的Python版本但安装的包不同),在Jupyter Notebook中无法切换,即“New”的下拉菜单中无法使用需要的环境。

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

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

解决方法之命令行模式

同时使用不同版本的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
为当前环境下的当前用户安装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>"
  • 注意:
    • “<env_name>”为当前环境的环境名称。环境名两边不加尖括号“<>”。

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

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

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

检验

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

解决方法之图形界面模式

  • 你创建了一个新的环境,但却发现在Jupyter Notebook的“New”中找不到这个环境,无法在该环境中创建笔记本。
  • 进入Jupyter Notebook → Conda → 在“Conda environment”中点击你要添加ipykernel包的环境 → 左下方搜索框输入“ipykernel” → 勾选“ipykernel” → 点击搜索框旁的“→”箭头 → 安装完毕 → 右下方框内找到“ipykernel”说明已经安装成功
  • 在终端control c关闭Jupyter Notebook的服务器然后重启Jupyter Notebook,在“File”的“New”的下拉列表里就可以找到你的环境啦。

七、Jupyter Notebook快捷键

Mac与Windows特殊按键对照表

在这里插入图片描述

Jupyter Notebook笔记本的两种模式

命令模式
  • 命令模式将键盘命令与Jupyter Notebook笔记本命令相结合,可以通过键盘不同键的组合运行笔记本的命令。
  • 按esc键进入命令模式。
  • 命令模式下,单元格边框为灰色,且左侧边框线为蓝色粗线条。
    在这里插入图片描述
编辑模式
  • 编辑模式使用户可以在单元格内编辑代码或文档。
  • enterreturn键进入编辑模式。
  • 编辑模式下,单元格边框和左侧边框线均为绿色。
    在这里插入图片描述

两种模式的快捷键

命令模式

在这里插入图片描述

编辑模式

在这里插入图片描述

查看和编辑快捷键

查看快捷键
  • 进入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”。

关闭和退出

关闭笔记本和终端

当我们在Jupyter Notebook中创建了终端或笔记本时,将会弹出新的窗口来运行终端或笔记本。当我们使用完毕想要退出终端或笔记本时,仅仅关闭页面是无法结束程序运行的,因此我们需要通过以下步骤将其完全关闭。

方法一

  • 进入“Files”页面。

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

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

  • 成功关闭笔记本。

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

方法二

  • 进入“Running”页面。
  • 第一栏是“Terminals”,即所有正在运行的终端均会在此显示;第二栏是“Notebooks”,即所有正在运行的“ipynb”笔记本均会在此显示。
  • 点击想要关闭的终端或笔记本后黄色“Shutdown”按钮。
  • 成功关闭终端或笔记本。
    • 注意:此方法可以关闭任何正在运行的终端和笔记本。

注意

  • 只有“ipynb”笔记本和终端需要通过上述方法才能使其结束运行。
  • “txt”文档,即“New”下拉列表中的“Text
    File”,以及“Folder”只要关闭程序运行的页面即结束运行,无需通过上述步骤关闭。

退出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便会看到报错页面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/762210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

macOS 通过 MacPorts 正确安装 MySQL 同时解决无法连接问题

如果你通过 sudo port install 命令正常安装了 MySQL&#xff0c;再通过 sudo port load 命令启动了 MySQL Server&#xff0c;此刻却发现使用 Navicat 之类的 GUI 软件无法连接&#xff0c;始终返回无法连接到 127.0.0.1 服务器。这是一个小坑&#xff0c;因为他默认使用了 So…

零代码编程:用kimichat将srt字幕文件进行批量转换合并

文件夹里面有多个srt字幕文件&#xff0c;借助kimichat可以很方便的对其进行批量合并。 在kimichat中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;写一个Python脚本&#xff0c;完成一个处理整理文档内容的任务&#xff0c;具体步骤如下&#xff1a; 打开文件…

更新数据库表中的数据

目录 update 加上各种限制条件 update update 表名set 列名1xx,列名2xx 指定更新某列数据如果不添加where子句,则为全列更新 也可以在原有基础上更新: 注意,mysql语法里不支持,必须是列名列名数值 加上各种限制条件 比如加上order by子句,where子句,limit等 这些条件对于up…

【FLOOD FILL专题】【蓝桥杯备考训练】:扫雷、动态网格、走迷宫、画图、山峰和山谷【已更新完成】

目录 1、扫雷&#xff08;Google Kickstart2014 Round C Problem A&#xff09; 2、动态网格&#xff08;Google Kickstart2015 Round D Problem A&#xff09; 3、走迷宫&#xff08;模板&#xff09; 4、画图&#xff08;第六次CCF计算机软件能力认证&#xff09; 5、山…

政安晨:【深度学习实践】【使用 TensorFlow 和 Keras 为结构化数据构建和训练神经网络】(四)—— 过拟合和欠拟合

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 政安晨的机器学习笔记 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 通过增加容量或提前停止来提高性能。 在深度学习中&#…

C#对于文件中的文件名判断问题

C#中对于文件名的判断问题&#xff0c;我们使用bool值进行值的传递&#xff0c;首先我们使用内置方法进行文件字符串匹配的bool值回传&#xff0c;我们打印出文件名以及相对应的bool&#xff0c;即可知道文件名是否真正生效 bool isHave fileName.Contains("Hello"…

代码学习记录22--回溯算法第三天

随想录日记part22 t i m e &#xff1a; time&#xff1a; time&#xff1a; 2024.03.17 主要内容&#xff1a;今天主要是结合类型的题目加深对回溯算法的理解&#xff1a;1.组合总和;2.组合总和 ;3.分割回文串。 39. 组合总和 40.组合总和II131.分割回文串 Topic1组合总和 题…

【Node.js从基础到高级运用】十四、Node.js 错误处理与日志记录

引言 在这篇博客文章中&#xff0c;我们将深入探讨Node.js中的错误处理和日志记录的最佳实践。我们会了解如何在Node.js应用程序中有效地捕获和处理错误&#xff0c;并利用日志库如morgan来记录应用程序的活动和错误信息。 第1部分&#xff1a;Node.js中的错误处理 同步代码中…

Spring AI Embeddings 和 Vector 入门

在前面 Spring AI Chat 简单示例 中介绍了 Chat 的基本用法&#xff0c;本文在此基础&#xff08;主要是pom.xml&#xff09;上继续探索 Embedding 和 Vector。 官方文档&#xff1a; embeddings: https://docs.spring.io/spring-ai/reference/api/embeddings/openai-embedding…

断点重训教程:如何有效地保护深度学习模型训练进度

在深度学习领域&#xff0c;长时间训练是常见的需求&#xff0c;然而&#xff0c;在训练过程中可能会面临各种意外情况&#xff0c;比如计算机故障、断电等&#xff0c;这些意外情况可能导致训练过程中断&#xff0c;造成已经投入的时间和资源的浪费。为了应对这种情况&#xf…

Avue框架实现图表的基本知识 | 附Demo(全)

目录 前言1. 柱状图2. 折线图3. 饼图4. 刻度盘6. 仪表盘7. 象形图8. 彩蛋8.1 饼图8.2 柱状图8.3 折线图8.4 温度仪表盘8.5 进度条 前言 以下Demo&#xff0c;作为初学者来说&#xff0c;会相应给出一些代码注释&#xff0c;可相应选择你所想要的款式 对于以下Demo&#xff0c…

GStreamer简单看看

主要是现在弄摄像头&#xff0c;要用到这东西。所以学学。 最权威主页&#xff1a;GStreamer: open source multimedia framework 大概看了下&#xff0c;好像命令也不难。 gst-launch-1.0 v4l2src device/dev/video0 ! video/x-raw,formatYUY2,width640,height480,framerat…

说说你对webpack的理解?解决了什么问题?

文章目录 一、背景二、问题三、是什么参考文献 一、背景 Webpack 最初的目标是实现前端项目的模块化&#xff0c;旨在更高效地管理和维护项目中的每一个资源 模块化 最早的时候&#xff0c;我们会通过文件划分的形式实现模块化&#xff0c;也就是将每个功能及其相关状态数据各…

Batch Normalization(批量归一化)和 Layer Normalization(层归一化)

Batch Normalization(批量归一化)和 Layer Normalization(层归一化)都是深度学习中用于改善网络训练过程的归一化技术。尽管它们的目标相似,即通过规范化中间层的激活值来加速训练过程并提高性能,但它们在细节上有所不同。 Batch Normalization (批量归一化) Batch Nor…

谷歌地图TMS地图服务地址收集2024,测试可用

对于普通的开发者或者GIS从业者来说&#xff0c;免费的底图影像服务&#xff0c;太重要了。之前写过一篇谷歌地图的TMS地址收集的博文&#xff0c;由于谷歌网站关闭已经不能用。最近又发现了谷歌在国内开放了其他地址&#xff0c;在这里给大家分享一下。 https://gac-geo.googl…

Ant Design Vue和VUE3下的upload组件使用以及文件预览

Ant Design Vue和VUE3下的upload组件使用以及文件预览 文章目录 Ant Design Vue和VUE3下的upload组件使用以及文件预览一、多文件上传1.需求2.样例3.代码 二、单文件上传1. 需求2. 样例3.代码 二、多文件上传产生的时间超时问题三、文件系统名称更改1. 修改文件index.html2. 修…

Leetcode热题100:图论

Leetcode 200. 岛屿数量 深度优先搜索法&#xff1a; 对于这道题来说&#xff0c;是一个非常经典的图的问题&#xff0c;我们可以先从宏观上面来看问题&#xff0c;也就是说在不想具体算法的前提下&#xff0c;简单的说出如何找到所有的岛屿呢&#xff1f; 如图中所示&#x…

oracle 19c单机版本补丁升级

文章目录 一、补丁包概述二、备份opatch三、替换高版本opatch四、打DB补丁1、关闭数据库2、关闭监听3、解压补丁4、冲突检测5、补丁空间检查6、执行补丁升级7、将更新内容加载到数据库8、最后查看数据库版本9、卸载补丁包 一、补丁包概述 补丁升级包 链接&#xff1a;https://…

【系统架构设计师】计算机系统基础知识 03

系统架构设计师 - 系列文章目录 01 系统工程与信息系统基础 02 软件架构设计 03 计算机系统基础知识 文章目录 系统架构设计师 - 系列文章目录 文章目录 前言 一、计算机系统概述 1.计算机组成 ​编辑2.存储系统 二、操作系统 ★★★★ 1.进程管理 2.存储管理 1.页式存储 …

Golang Gorm 自动分批查询

场景&#xff1a; 目标查询全量数据&#xff0c;但需要每次Limit分批查询&#xff0c;保护数据库 文档&#xff1a; https://gorm.io/zh_CN/docs/advanced_query.html // Param: // dest 目标地址 // batchSize 大小 // fc 处理函数func (db *DB) FindInBatc…