三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Jupyter Notebook 完整指南:从虚拟环境安装到深度定制与彻底卸载

Jupyter Notebook 完整指南:从虚拟环境安装到深度定制与彻底卸载

1. 从“安装”到“卸载”:一个完整生命周期的视角

如果你刚开始接触Python数据分析、机器学习或者仅仅是写点脚本,Jupyter Notebook大概率是你绕不开的一个工具。它那个基于浏览器的交互式界面,把代码、文档和可视化结果揉在一起,确实让探索性工作变得直观。但不知道你有没有过这样的经历:兴冲冲地跟着教程装好了,用起来却发现字体小得费眼,敲代码时没有自动补全提示,效率大打折扣;或者想换个版本、清理环境时,发现它“赖”在系统里,卸载不干净。网上的教程很多,但往往只讲“怎么装”,很少系统地告诉你“怎么用好”以及“怎么无痛离开”。

今天,我们不只讲怎么把Jupyter Notebook装到你的电脑上(无论是Windows、macOS还是Linux),更要深入进去,把它调教成顺手的生产力工具——调整那些默认的、可能并不适合你的设置(比如字体大小),并解锁代码自动补全这个核心效率外挂。最后,我们还会彻底地聊聊如何干净地卸载它,为下一次尝试或系统清理铺平道路。这整个过程,就像一个工具的完整生命周期,了解每一步,你才能完全掌控它。

2. 安装:选对方法,避开初学者的第一个坑

安装Jupyter Notebook听起来很简单,一个pip install命令的事。但这里恰恰是很多新手踩第一个坑的地方。直接pip install jupyter可能会和你系统中已有的其他Python包产生冲突,或者把你的基础环境搞得一团糟。所以,我们的核心原则是:隔离

2.1 强烈推荐:使用虚拟环境安装

这是目前Python社区公认的最佳实践。虚拟环境相当于给你的项目建立一个独立的“沙箱”,在这个沙箱里安装的所有包都不会影响到系统全局或其他项目。

为什么必须用虚拟环境?想象一下,你项目A需要Jupyter Notebook的某个老版本,而项目B需要最新版。如果全局安装,你只能保留一个版本,势必有一个项目无法运行。虚拟环境完美解决了这个问题。此外,当你未来需要卸载时,直接删除整个虚拟环境目录即可,无比干净,绝不会留下散落各处的文件。

具体操作步骤(以Windows为例,macOS/Linux命令几乎相同):

  1. 确保已安装Python:打开命令行(CMD或PowerShell),输入python --versionpython3 --version,确认有版本号返回。如果没有,需要先去Python官网下载安装。安装时务必勾选“Add Python to PATH”。

  2. 安装虚拟环境管理工具:Python 3.3+ 自带了venv模块。但为了更强大的管理功能,我推荐使用virtualenv。在命令行中执行:

    pip install virtualenv
  3. 为Jupyter Notebook创建专属虚拟环境:找一个你喜欢的目录,比如D:\my_projects,然后在命令行中进入该目录,执行:

    virtualenv jupyter_env

    这会在当前目录下创建一个名为jupyter_env的文件夹,里面包含了一个独立的Python解释器和pip。

  4. 激活虚拟环境

    • Windows:
      .\jupyter_env\Scripts\activate
      激活成功后,命令行提示符前面会出现(jupyter_env)字样。
    • macOS/Linux:
      source jupyter_env/bin/activate
  5. 在虚拟环境中安装Jupyter Notebook:确认提示符为(jupyter_env)后,执行:

    pip install jupyter notebook

    这里安装的是经典的Jupyter Notebook。如果你想体验更新的界面和功能,可以安装jupyterlabpip install jupyterlab),但本文设置部分主要以Notebook为例,Lab原理相通。

注意:每次打开新的命令行窗口使用Jupyter时,都需要先切换到其所在目录,并执行对应的激活命令。你可以将激活命令写成脚本,方便快速启动。

2.2 备选方案:使用Anaconda发行版

如果你的学习或工作重心就是数据科学,且不希望花太多时间在环境配置上,那么Anaconda是一个“全家桶”式的选择。它一次性安装了Python、Jupyter Notebook/ Lab以及NumPy、Pandas、Matplotlib等几百个数据科学相关的库。

安装方法

  1. 前往Anaconda官网下载对应你操作系统的安装包。
  2. 运行安装程序,基本上一路“Next”即可。注意安装路径不要有中文和空格。
  3. 安装完成后,你可以在开始菜单找到“Anaconda Navigator”,这是一个图形化界面,可以启动Jupyter Notebook,或者使用“Anaconda Prompt”命令行工具。

Anaconda的利与弊

  • 优点:开箱即用,环境隔离通过conda命令管理也很方便,适合初学者快速上手。
  • 缺点:安装包体积巨大(几个GB),可能会安装许多你永远用不上的库。它有自己的包管理conda,与pip混用时偶尔会有依赖冲突。

对于大多数希望保持环境纯净和可控的开发者,我仍然首推虚拟环境+pip的方案。

3. 核心使用:启动、界面与基本操作

安装完成后,让我们快速过一下核心用法,确保你能跑起来。

3.1 启动Jupyter Notebook

在已激活的虚拟环境(或Anaconda Prompt)中,命令行输入:

jupyter notebook

默认浏览器会自动打开一个页面,地址是http://localhost:8888。这个页面就是Jupyter的“仪表盘”,显示的是你启动命令时所在目录的文件列表。

一个关键技巧:指定启动目录你肯定不希望每次都在命令行里先cd到项目目录再启动。可以在启动时指定目录:

jupyter notebook --notebook-dir="D:\my_projects"

或者更一劳永逸的方法是,修改Jupyter的默认启动目录配置(这需要生成配置文件,我们会在后面“修改设置”章节详细说明)。

3.2 界面初探与基本操作

在仪表盘页面,点击右上角“New” -> “Python 3”,即可创建一个新的Notebook文档。

  • 单元格(Cell):Notebook由一个个单元格构成。每个单元格可以是代码(Code)或标记文本(Markdown)。
  • 运行单元格:在代码单元格中输入print(“Hello, Jupyter!”),按Shift + Enter执行该单元格,结果会显示在下方。
  • 模式切换
    • 编辑模式(Enter):单元格边框为绿色,可以输入内容。
    • 命令模式(Esc):单元格边框为蓝色,可以使用键盘快捷键(如A在上方插入单元格,B在下方插入,DD连续按两次删除单元格)。
  • 保存:自动保存,但也可手动按Ctrl + S。文件后缀为.ipynb

这些基本操作能让你动起来,但要想用得舒服,我们必须对默认的设置进行改造。

4. 深度定制:修改字体、主题与关键设置

默认的Jupyter Notebook界面,尤其是那个细小的字体,长时间编码非常伤眼。好消息是,几乎所有视觉和部分行为设置都可以通过修改CSS或生成配置文件来调整。

4.1 生成配置文件

首先,我们需要生成Jupyter的配置文件,这样我们的修改才能持久化。在命令行中执行:

jupyter notebook --generate-config

这条命令会在你的用户主目录下的.jupyter文件夹中(例如C:\Users\你的用户名\.jupyter~/.jupyter)生成一个名为jupyter_notebook_config.py的文件。这个文件里包含了所有可配置的选项,但都被注释掉了。

4.2 修改代码和输出字体大小

修改字体最直接有效的方式是自定义CSS。Jupyter允许我们加载自定义的CSS文件。

  1. 找到自定义CSS的路径:在生成的配置文件jupyter_notebook_config.py中,搜索c.NotebookApp.extra_stylesheets。你会看到类似下面的被注释掉的行:

    # c.NotebookApp.extra_stylesheets = []
  2. 创建自定义CSS文件:在你喜欢的位置创建一个文件,例如custom.css。用文本编辑器打开,输入以下内容:

    /* 调整代码编辑器(Code Cell)的字体大小和字体 */ .CodeMirror pre { font-size: 14pt; /* 增大字体大小,16pt, 18pt可按需调整 */ font-family: 'Consolas', 'Monaco', 'Courier New', monospace; /* 指定等宽字体 */ } /* 调整输出区域(Output Area)的字体大小 */ .output_area pre { font-size: 13pt; } /* 调整Markdown单元格渲染后的字体大小 */ .rendered_html { font-size: 15pt; }

    这里font-size的单位pt(磅)是常用的,你也可以用px(像素)。font-family指定了字体优先级,确保代码看起来清晰。

  3. 启用自定义CSS:取消配置文件中的注释,并指向你的CSS文件路径。将c.NotebookApp.extra_stylesheets = []修改为:

    c.NotebookApp.extra_stylesheets = ['/absolute/path/to/your/custom.css']

    注意:这里必须使用绝对路径。在Windows上可能是C:\Users\You\custom.css,需要将反斜杠\改为正斜杠/或双反斜杠\\,例如:['C:/Users/You/custom.css']

  4. 重启Jupyter Notebook:关闭并重新启动jupyter notebook,刷新浏览器,字体应该已经改变了。

4.3 安装主题(更全面的视觉优化)

手动修改CSS对于调整字体是有效的,但如果想整体改变配色方案(比如启用深色模式),安装现成的主题更方便。最流行的主题工具是jupyterthemes

安装与使用

  1. 在已激活的虚拟环境中,安装jupyterthemes
    pip install jupyterthemes
  2. 安装后,你可以使用jt命令来切换主题。例如,应用一个流行的暗色主题onedork并同时设置字体大小:
    jt -t onedork -fs 12 -cellw 90%
    • -t onedork:指定主题。
    • -fs 12:设置字体大小。
    • -cellw 90%:设置单元格宽度为浏览器的90%。
    • 其他常用参数:-N(显示工具栏和名称),-T(显示工具栏)。
  3. 运行命令后,刷新Jupyter页面即可生效。要恢复默认主题,运行jt -r

使用主题的好处是它一次性修改了代码区、输出区、Markdown区、背景色、边框色等全套样式,比手动写CSS更全面、更美观。

4.4 其他实用配置项

配置文件里还有很多有用的选项,你可以按需取消注释并修改:

  • 修改默认启动目录:搜索c.NotebookApp.notebook_dir,取消注释并将其值设为你的项目目录路径(同样要用绝对路径)。这样以后启动就不再需要--notebook-dir参数了。
    c.NotebookApp.notebook_dir = 'D:/my_projects'
  • 禁止自动打开浏览器:有时你只想在服务器上运行,不需要本地浏览器打开。搜索c.NotebookApp.open_browser,设置为False
    c.NotebookApp.open_browser = False
  • 设置访问密码/Token:如果你在服务器上运行,需要安全保护。相关配置项是c.NotebookApp.passwordc.NotebookApp.token,设置稍复杂,涉及密码哈希生成,有需要时可以查阅专门文档。

5. 效率飞跃:实现强大的代码自动补全

原生的Jupyter Notebook代码补全功能非常基础,只能补全当前Notebook中已定义的对象名和关键字。要实现类似PyCharm、VSCode那样的智能补全(根据模块、函数参数、文档字符串提示),我们需要安装扩展。

5.1 安装Jupyter扩展系统

Jupyter有一个扩展(nbextensions)生态系统。首先,我们需要安装管理这些扩展的包:

pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install --user

第一条命令安装扩展包,第二条命令将扩展安装到你的Jupyter配置中。--user标志表示安装到当前用户目录,避免需要系统权限。

5.2 启用“Hinterland”扩展实现自动补全

安装完成后,重启Jupyter Notebook。你会发现顶部菜单栏多了一个“Nbextensions”选项卡。点击进去,你会看到一个扩展列表。

  1. 找到并启用“Hinterland”:在列表中找到“Hinterland”(或者叫“Table of Contents (2)”附近的“Hinterland”)。勾选它旁边的复选框以启用。

    注意:有时列表里直接叫“Hinterland”,有时它被包含在“Codefolding”或其它扩展套件里,请仔细寻找描述为“Code autocompletion”的扩展。另一个非常流行的自动补全扩展是“Snippets”和“Code Prettifier”,但“Hinterland”是专攻补全的。

  2. 配置Hinterland:启用后,通常不需要额外配置就能工作。你可以在代码单元格中开始输入,比如输入import numpy as np后,再输入np.a,然后按Tab键,就会弹出包含argmax,argmin,array等以‘a’开头的函数列表。

这个补全和原生补全的区别

  • 原生补全:仅补全当前命名空间里已有的名字。
  • Hinterland扩展:会尝试分析你已导入的模块(如numpy,pandas),即使你还没输入完,按Tab也能触发补全建议,并且补全列表更丰富。

5.3 进阶选择:使用JupyterLab与LSP

如果你使用的是JupyterLab(下一代界面),那么实现智能补全的体验更好,通常通过安装Language Server Protocol (LSP)扩展来实现。

  1. 安装JupyterLab LSP扩展:
    pip install jupyterlab-lsp pip install python-lsp-server[all] # 这是Python的Language Server
  2. 安装完成后,重启JupyterLab。你会发现代码编辑有了下划线错误提示、函数签名帮助、以及更强大的自动补全。

JupyterLab + LSP的组合,其代码编辑体验已经非常接近专业的IDE,是重度编码用户的推荐选择。

6. 彻底卸载:如何让Jupyter从你的系统里完全消失

当你需要升级版本、解决冲突,或者单纯想清理空间时,一个干净的卸载至关重要。不彻底的卸载可能会留下配置文件、缓存数据,干扰未来的安装。

卸载的核心逻辑是:逆向操作安装步骤,并清理残留。

6.1 如果你使用虚拟环境安装

这是最简单、最干净的情况,因为所有东西都被隔离在那个文件夹里。

  1. 停用并删除虚拟环境
    • 首先,关闭所有Jupyter Notebook服务器(在启动它的命令行窗口按Ctrl+C两次)。
    • 如果你在虚拟环境内,先执行deactivate命令退出。
    • 直接删除整个虚拟环境文件夹即可(例如我们之前创建的jupyter_env文件夹)。
    # 假设在 D:\my_projects rmdir /s jupyter_env # Windows rm -rf jupyter_env # macOS/Linux
  2. (可选)清理用户配置和缓存:虚拟环境只隔离了Python包,但Jupyter运行时生成的配置文件、笔记本缓存等可能还在用户目录。如果你想彻底不留痕迹,可以删除以下目录(请谨慎操作,确认其中没有你需要保留的笔记本文件):
    • 配置文件目录~/.jupyter(用户主目录下的.jupyter文件夹)
    • 运行时数据目录~/.local/share/jupyter(Linux/macOS)或C:\Users\<用户名>\AppData\Roaming\jupyter(Windows)
    • 缓存目录~/.cache/jupyter(Linux/macOS)

警告:删除~/.jupyter会丢失你所有的自定义配置(如我们之前修改的字体设置)。请确保你已备份重要的笔记本文件(.ipynb)后再进行此操作。

6.2 如果你使用全局pip安装(不推荐)

如果你当初是直接在系统Python下用pip install jupyter安装的,卸载步骤如下:

  1. 使用pip卸载包

    pip uninstall jupyter notebook jupyter_core jupyter_client jupyter_console nbconvert nbformat ipykernel ipywidgets -y

    这条命令尝试卸载Jupyter的核心组件。但由于依赖复杂,可能无法一次卸载干净所有相关包。

  2. 手动检查并清理:卸载后,最好再检查一下pip list,看看是否还有jupyter-ipython-ipykernelnbformat等相关的包,并手动卸载它们。

  3. 同样清理配置和缓存目录(同上一步的~/.jupyter等目录)。

6.3 如果你使用Anaconda安装

  1. 通过conda卸载:打开Anaconda Prompt或终端,执行:

    conda uninstall jupyter notebook

    或者,如果你想移除整个环境(如果你是在某个特定conda环境下安装的):

    conda remove --name your_env_name --all
  2. 清理conda缓存

    conda clean --all
  3. (可选)卸载Anaconda本身:如果你想完全移除Anaconda,需要运行其自带的卸载程序(Windows在安装目录下或有独立卸载项),并在删除安装目录后,手动从系统环境变量PATH中移除Anaconda添加的路径。

卸载后的验证:完成上述步骤后,打开一个新的命令行窗口,尝试运行jupyter --versionjupyter notebook。如果系统提示“命令未找到”或“没有名为‘jupyter’的模块”,则说明卸载基本成功。残留的配置文件如果不需要,按上述路径删除即可。

从安装、配置到卸载,走完这一整个流程,你应该对Jupyter Notebook这个工具有了更强的掌控力。它不再是一个黑盒,而是一个可以根据你个人习惯深度定化的生产力平台。记住,好的工具是调教出来的,花一点时间在初始设置上,换来的是长期编码的舒适和高效。

← 返回列表