在同一个文档里Markdown写作+运行代码:Jupyter Notebook入门

本文详细介绍了如何在不依赖集成环境的情况下,独立安装和配置JupyterNotebook,包括在Python虚拟环境中安装、修改默认目录、调用不同虚拟环境及在VScode中使用。还揭示了VScode中使用JupyterNotebook并不需要单独安装JupyterNotebook,只需安装ipykernel即可。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jupyter Notebook 是一个开源的、基于网页的应用,它可以创建一个文档,在这个文档里,我们不但可以使用 Markdown 语法来输入文本,插入图片,还可以运行多种编程语言代码,并直接在文档里查看代码运行结果。就像这样:
请添加图片描述

因此,Jupyter Notebook 可以让我们随时输出并查看代码的运行结果,并辅之以文字和图片说明,最终实现将代码、结果、图片、文字集中在一个文档呈现的效果,它非常适合用于撰写和分享编程项目文档、编程学习笔记和教程等等。举个例子,机器学习框架 tensorflow 官网的案例、和鲸社区、等均采用了 Jupyter Notebook 或基于 Jupyter Notebook 进行二次开发来作为其在线展示或学习的平台。
在这里插入图片描述

Jupyter Notebook 虽然支持多种编程语言的运行,但它的安装和使用却需要依赖 Python 环境。

Jupyter 官网的入门教程推荐新手使用 Anaconda 来使用 Jupyter Notebook。Anaconda 是一个预先安装了 Python、Jupyter Notebook,面向数据分析的开发平台。目前网上一些介绍 Jupyter Notebook 使用和配置的帖子也是在 Anaconda 上进行操作的。

但我现在已经不喜欢过分依赖这些集合了众多包和模块、一键操作的IDE和平台了。自己一砖一瓦搭建的开发环境,会更加轻便和适合自己。

其实,在终端中使用 Python 包管理工具和一些简单的指令,就可以从容配置和使用 Jupyter Notebook了。来看看怎么实现吧。

本文会涉及到 Python 虚拟环境的使用,可戳我此前的帖子:
为python项目配置专属虚拟环境

安装和使用 Jupyter Notebook

我们在终端中使用 pip 来安装 Jupyter Notebook,这样 Jupyter Notebook 将会被安装到本机原生的Python 环境中:

python -m pip install notebook

我们也可以在某一个虚拟环境中安装 Jupyter Notebook。考虑到在虚拟环境中安装和使用 Jupyter Notebook 的操作可以轻松推广到在原生环境中的操作,反之则不易,因此本文会介绍在虚拟环境中 Jupyter Notebook 的操作,这样可以兼顾想在虚拟环境和原生环境中使用 Jupyter Notebook的读者。

我们使用虚拟环境 A 中的 pip 来安装 Jupyter Notebook:

D:\...\venvA\Scripts\python -m pip install notebook

安装完成后,在终端进入虚拟环境 A ,执行以下指令即可打开 Jupyter Notebook :

D:\...\venvA\Scripts\activate.ps1

jupyter notebook

此时,终端会打印 Jupyter Notebook 的相关信息:
请添加图片描述

同时浏览器启动,打开 Jupyter Notebook 的主页 Home page。正如所见,Jupyter Notebook 便是这么一个基于网页的应用程序,不过它读写的是本机的文件。细看 Home Page ,这其实就是本机 C:\Users\ 目录。我们新建的笔记也会保存在这个目录下。
请添加图片描述

我们可以根据自己的使用习惯将 Jupyter Notebook 的 Home Page 修改为自定义的目录,这样更有条理,也便于我们按照自己的习惯来管理。如何修改呢?

我们回到终端,在虚拟环境中执行指令,生成一个 Jupyter Notebook 的默认配置文件:

jupyter notebook --generate-config

此时终端会提示:

Writing default config to: C:\Users\<user name>\.jupyter\jupyter_notebook_config.py

请添加图片描述

现在来到C:\Users\<user name>\.jupyter\目录,就可以看到刚生成的 jupyter_notebook_config.py 文件,这是 Jupyter Notebook 的配置文件,可以用文本编辑软件打开,通过修改其中的内容,就可以实现对 Jupyter Notebook 设置的修改。

这里我用 VS code 打开,然后查找关键词c.NotebookApp.notebook_dir来到此语句位置。这个语句便是定义 Home Page 所在目录的。目前,语句前带有注释 # 号,因此未生效。
请添加图片描述

取消前方的注释 # 号来使此语句生效,并在 ‘ ’中输入新的目录来作为 Jupyter Notebook 的 Home page:

c.NotebookApp.notebook_dir = ‘D:\jupyterNotebook’

请添加图片描述

保存,关闭。

重新运行 Jupyter Notebook,可以看到此时 Home Page 已变成我们所设置的目录了,由于新目录中无任何文件夹或文件,故显示「笔记本列表为空」。
请添加图片描述

点击右上角「new」,在下拉菜单中选择一个 Python 开发环境,即可新建一个笔记。
请添加图片描述

在笔记里,可以使用 markdown 语法来输入文本,也可以输入 Python 代码并运行,直接查看运行结果。此笔记所用的 Python 环境即为我们新建笔记时所选择的 Python 环境。在这个例子中,笔记所调用的是 Jupyter Notebook 所在的虚拟环境。

现在,我们就拥有了一个可以运行 Python 代码的笔记本了。
请添加图片描述

Jupyter Notebook 调用其他虚拟环境

按照本公众号的开发习惯,我们会为不同 Python 项目配置了各自独立的虚拟环境,这些虚拟环境中所安装的包各有不同。那么,我们安装在虚拟环境 A 中的 Jupyter Notebook 能否调用虚拟环境 B 来执行笔记中的代码呢?答案是肯定的,但是我们需要进行一些配置工作。

我们暂时离开 Jupyter Notebook,在终端中,命令虚拟环境 B 安装 ipykernel 内核:

 D:\...\venvB\Scripts\python -m pip install ipykernel

ipykernel,顾名思义,是一个「内核」。作为初学者,我们只需要知道,它可以让我们的虚拟环境被 Jupyter Notebook 调用。

安装完成后,命令虚拟环境 B 中的 Python 执行指令:

D:\...\venvB\Scripts\python -m ipykernel install --user --name deepLearningVenv --display-name "Python(DeepLearning)"

这个指令可以向 Jupyter Notebook 添加虚拟环境 B 。其中「 --name」后的名称为虚拟环境 B 的名称,而「–display -name」后的名称则是显示在 Jupyter Notebook 新建笔记时下拉列表中的名称,可助我们区分不同的虚拟环境,这里我们将「display name」定为「Python(DeepLearning)」,以提示这是一个用于开发深度学习项目的环境。

完成后,终端会提示:

Installed kernelspec deepLearningVenv in C:\Users\<user name>\AppData\Roaming\jupyter\kernels\deeplearningvenv

现在重新进入 Jupyter Notebook,右上角新建一个笔记,可以看到,可选的 Python 环境列表中多了我们刚刚添加的虚拟环境 B ,其显示的名称为 「Python(DeepLearning)」。
请添加图片描述

当然,也可以将某一个虚拟环境从 Jupyter Notebook 的列表中删除。

我们在终端中进入 Jupyter Notebook 所在的虚拟环境,执行以下指令就可以查看 Jupyter Notebook 所添加的虚拟环境 kernel 的列表:

jupyter kernelspec list

然后执行以下指令就可以删除指定的 kernel:

jupyter kernelspec uninstall kernelsName

请添加图片描述

重新运行 Jupyter Notebook,就可以看到所操作的虚拟环境已经从新建 Notebook 下拉列表中被移除了。

在 VS code 中使用 Jupyter Notebook

VS code ( Visual Studio Code,一个轻量 IDE) 目前已经支持 Jupyter Notebook。我们可以在 VS code 中来使用 Jupyter Notebook,这似乎比在网页上使用来得更加顺手一些。

我们在 VS code 左侧的「Extensions 拓展」中,搜索并安装 Jupyter 插件,请认准 Microsoft 出品。
请添加图片描述

安装完成后重启 VS code,选择 「 View > Command Palette…」,或者使用快捷键 ctrl+shift+P,在弹出的命令面板中输入「Jupyter」,在弹出的命令列表中选择「Juypter: Create New Jupyter Notebook」。
请添加图片描述

这样就成功在 VS code 中新建了一个 .jpynb 格式的笔记本。就如在网页中一样,我们可以插入「Code 」 片段来运行 Python 代码;也可以插入「Markdown」片段来输入文字;在右上角可以选择和切换笔记本所使用的 Python 环境。
请添加图片描述

到目前为止,我们只在 VS code 中安装了 Jupyter 拓展,就顺利地用起 Jupyter Notebook了,并没有类似「调用本机安装的 Jupyter Notebook」的操作,这似乎太简单了一些?我不禁好奇:

是不是电脑上并不需要安装 Jupyter Notebook,而仅仅在 VS code 安装 Jupyter 插件,也可以使用呢?

为此,我做了一个小实验:我在一台从未配置过 Python 相关开发环境的旧电脑上,安装了 Python 3.7.9 和 VS code,并在 VS code 中安装了 Python 拓展和 Jupyter 拓展,电脑全程没有安装 Jupyter Notebook。

我按照上述方法,在 VS code 中新建了一个 .jpynb 格式的笔记本,在其中输入了Python代码,点击运行,此时VS code弹出提示:「Python 3.7.9 64-bit 需要安装ipykernel。」
请添加图片描述

现在答案揭晓了,我们想在 VS code 中使用 Jupyter Notebook,并不一定要在电脑上安装「完整」的 Jupyter Notebook,但需要在所使用的开发环境中安装 ipykernel 内核。

那么点击「安装」,VS code开始下载安装 ipykernel 内核以及相关的依赖。安装完成后,再次运行笔记本中的代码,成功运行。
请添加图片描述

事实上,这与上文我们在虚拟环境中安装 ipykernel 内核来将该环境添加到 Jupyter Notebook 的操作的本质是相同的。

尾声

面向初学者的 Jupyter Notebook 安装和使用介绍到这里便结束了。文中所涉及的内容,相信已经足够帮助一名初学者顺利安装 Jupyter Notebook 并开始使用。在使用中遇到的困难以及更加进阶的玩法,请多多利用网上资源进行探索,优快云、知乎、简书都有不少相关帖子,也可以关注微信公众号「南贝塔」,与我讨论。

「好记性不如烂笔头」,我们在编程开发中也需要多记笔记,便于日后翻阅查看。Jupyter Notebook 这样一个可以同时集合文本、图片、代码、运行结果的「笔记本」,针不戳,大家可善加利用。

欢迎关注微信公众号:「南贝塔」。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值