JupyterLab、Jupyter Notebook 和 Voilà 的安装与使用指南

⚡⚡⚡ 新年新文⚡⚡⚡


文章目录

    • [1,JupyterLab 的安装与使用](#1,JupyterLab 的安装与使用)
      • [1.1 安装方法](#1.1 安装方法)
      • [1.2 启动与基本使用](#1.2 启动与基本使用)
    • [2,Jupyter Notebook 的安装与使用](#2,Jupyter Notebook 的安装与使用)
      • [2.1 安装方法](#2.1 安装方法)
      • [2.2 启动与基本使用](#2.2 启动与基本使用)
    • [3,Voilà 的安装与使用](#3,Voilà 的安装与使用)
      • [3.1 安装方法](#3.1 安装方法)
      • [3.2 启动与基本使用](#3.2 启动与基本使用)
    • 4,三者的协同与进阶
      • [4.1 协同工作流](#4.1 协同工作流)
      • [4.2 参数与扩展](#4.2 参数与扩展)
      • [4.3 三个工具的启动方式对比](#4.3 三个工具的启动方式对比)
    • 5,示例
      • [5.1 绘制简单图形](#5.1 绘制简单图形)
      • [5.2 复杂的样式](#5.2 复杂的样式)

本文系统地整理 JupyterLab、Jupyter Notebook 和 Voilà 的安装与使用指南。这三个工具同属 Jupyter 生态系统,可以看作是一个项目从开发、调试到成果交付不同阶段的利器 。

  • Jupyter Notebook:经典的交互式笔记本,适合快速实验、教学和生成可复现的分析报告 。

  • JupyterLab:Jupyter 的下一代用户界面,是一个集成了笔记本、代码编辑器、终端、文件浏览器等功能的模块化科学计算工作环境 。

  • Voilà:能将 Jupyter Notebook 转换为独立的、交互式 Web 应用程序(仪表盘)的工具,它隐藏了背后的代码,只展示运行结果和控件 。

1,JupyterLab 的安装与使用

JupyterLab 是当前 Jupyter 生态的核心界面,也是官方推荐的"继任者",适用于绝大多数新项目 。

1.1 安装方法

在安装前,请确保你的计算机上已安装 Python (3.8 或更高版本) 。

方法一:使用 pip 安装(推荐)

这是最直接的方式,适用于大多数 Python 用户。

  1. 打开终端 (Windows 用户打开命令提示符或 PowerShell,macOS/Linux 用户打开终端)。

  2. (强烈推荐)创建并激活虚拟环境,这可以避免不同项目之间的包冲突 。

bash 复制代码
# 创建虚拟环境
python -m venv my_jupyter_env

# 激活虚拟环境
# Windows:
my_jupyter_env\Scripts\activate
# macOS / Linux:
source my_jupyter_env/bin/activate
  1. 安装 JupyterLab:
bash 复制代码
pip install jupyterlab
  1. 验证安装:
bash 复制代码
jupyter lab --version

方法二:使用 Conda 安装

如果你使用 Anaconda 或 Miniconda 管理环境,这是一个很好的选择。

bash 复制代码
# 创建一个新的 conda 环境并安装 Python 3.12
conda create --name jupyter-env python=3.12
# 激活环境
conda activate jupyter-env
# 从 conda-forge 频道安装 JupyterLab
conda install -c conda-forge jupyterlab

1.2 启动与基本使用

  1. 启动 JupyterLab:在终端(确保已激活目标环境)中运行以下命令 :
bash 复制代码
jupyter lab

命令执行后,终端会显示服务器日志,并自动在默认浏览器中打开 JupyterLab 界面(通常是 http://localhost:8888/lab)。请保持终端窗口运行,关闭它即关闭服务。

  1. 常用启动选项 :
  • 在指定目录启动:jupyter lab --notebook-dir=/path/to/your/project

  • 使用自定义端口:jupyter lab --port=9999

  • 启动但不打开浏览器:jupyter lab --no-browser(适用于远程服务器)

  1. 核心界面与操作 :
  • 文件浏览器:左侧边栏用于管理项目目录下的文件和文件夹。

  • 启动器:主界面中央的启动器(Launcher)可以让你快速创建新的笔记本(Notebook)、打开控制台(Console)、启动终端(Terminal)或创建文本文件。

  • 多面板工作区:你可以通过拖拽标签页来创建并排的布局,例如一边是代码笔记本,一边是数据表格或终端。

  • 创建和运行笔记本:在启动器中点击"Python 3"图标,新建一个 .ipynb 文件。在代码单元格中输入代码,按 Shift + Enter 运行并自动进入下一个单元格 。你还可以使用 Markdown 单元格添加格式化的文本说明 。

2,Jupyter Notebook 的安装与使用

Jupyter Notebook 是经典版本,如果你习惯其简洁的界面,或需要运行一些仅支持它的旧版扩展,可以选择它。值得注意的是,新版 Jupyter Notebook (v7) 的底层已经基于 JupyterLab 组件构建,因此安装方式与 JupyterLab 高度重叠 。

2.1 安装方法

方法一:通过 pip 安装

在虚拟环境中安装:

bash 复制代码
# 确保虚拟环境已激活
pip install jupyter

jupyter 这个包会同时安装 Notebook 和 JupyterLab 的核心组件。

方法二:通过 Conda 安装

bash 复制代码
conda install jupyter

方法三:使用系统包管理器(Linux/macOS)

  • Ubuntu/Debian: sudo apt install jupyter-notebook

  • Arch Linux: sudo pacman -S jupyter-notebook

  • macOS (Homebrew): brew install jupyterlab (该命令会同时安装 notebook 组件)

2.2 启动与基本使用

  1. 启动 Jupyter Notebook :
bash 复制代码
jupyter notebook

这将在终端启动服务器,并在浏览器中打开 Notebook 仪表盘(Dashboard),通常地址为 http://localhost:8888/tree。

  1. 基本操作:
  • 在仪表盘页面,点击右上角的"New" -> "Python 3"来创建一个新的笔记本。

  • Notebook 的单元格操作与 JupyterLab 一致:Shift+Enter 运行代码,使用下拉菜单在"Code"和"Markdown"之间切换单元格类型 。

  • 当你专注于单个 .ipynb 文件的编辑时,Notebook 的简洁界面非常专注。

3,Voilà 的安装与使用

Voilà 的作用是将你做好的 .ipynb 文件"包装"成一个漂亮的、可交互的 Web 应用,非常适合与不关心代码的业务人员或公众分享成果 。

3.1 安装方法

Voilà 同样可以通过 pip 或 conda 安装。建议在已安装 JupyterLab 的同一环境中安装,因为 Voilà 0.5.0 版本后,其前端已基于 JupyterLab 组件重建,能获得更好的兼容性 。

方法一:使用 pip 安装

bash 复制代码
pip install voila

方法二:使用 Conda 安装

bash 复制代码
conda install -c conda-forge voila

3.2 启动与基本使用

  1. 启动 Voilà:
  • 直接渲染一个笔记本:在终端中,导航到你的笔记本文件所在目录,然后运行 :
bash 复制代码
voila your_notebook.ipynb
复制代码
这将在 http://localhost:8866 (默认端口) 启动一个服务器,并直接在浏览器中显示渲染后的仪表盘页面,所有代码单元格均被隐藏。
  • 启动文件浏览模式:不加文件名直接运行 voila 命令,Voilà 会显示一个文件浏览器,让你选择要渲染的笔记本 。
  1. 创建交互式仪表盘的核心要素:ipywidgets
    Voilà 的强大之处在于它能将 Jupyter 的交互式小部件(widgets)原样呈现为网页控件。你需要先在笔记本中使用 ipywidgets 库来创建按钮、滑块、下拉菜单等。
python 复制代码
import ipywidgets as widgets
from IPython.display import display

# 创建一个滑块
slider = widgets.IntSlider(value=5, min=0, max=10, step=1, description='数值:')
# 创建一个用于输出的文本
output = widgets.Output()

# 定义交互函数
def on_value_change(change):
    with output:
        print(f'当前滑块数值: {change['new']}')

slider.observe(on_value_change, names='value')

# 显示控件
display(slider, output)

在普通的 Jupyter Notebook 中运行这段代码,你会看到滑块并能与之交互。用 Voilà 渲染这个笔记本时,滑块和输出区域会变成网页中可用的实时控件。

  1. Voilà 的高级选项 :
  • 指定端口:voila --port=8867 your_notebook.ipynb

  • 禁用文件浏览器:voila --no-browser your_notebook.ipynb

  • 启用令牌认证:voila --token=my_secret_token your_notebook.ipynb (适合部署到服务器时增加安全性)。

4,三者的协同与进阶

这三个工具并非孤立存在,它们共同构成了一个完整的工作流。

4.1 协同工作流

  1. **开发阶段 (JupyterLab):**在 JupyterLab 这个强大的"工作台"中,你打开一个项目文件夹,一边编写 Python 脚本,一边在旁边的笔记本窗口中进行探索性数据分析,并通过集成终端安装所需的包。你可以在笔记本中引入 ipywidgets 创建临时的交互控件来测试参数。

  2. 定型阶段 (Jupyter Notebook):当你调试好分析逻辑后,可以将核心的分析过程整理成一个结构清晰、带有丰富 Markdown 说明的 .ipynb 文件。这个文件本身就是一份可复现的报告。

  3. **交付阶段 (Voilà):**为了让不懂技术的同事也能通过调整滑块来观察数据变化,你直接使用 Voilà 命令来"运行"这个整理好的笔记本文件。Voilà 会启动一个轻量级服务器,将所有代码隐藏,只呈现最终的图表和由 ipywidgets 创建的交互控件,成为一个独立的仪表盘应用。

4.2 参数与扩展

  • 内核 (Kernels):三者都支持多种编程语言的内核,如 Python、R、Julia 等 。你可以为不同的项目创建独立的 Conda 或虚拟环境,并将这些环境注册为 Jupyter 的内核,从而在笔记本中自由切换 。
python 复制代码
# 在名为 'myenv' 的环境中安装 IPykernel
pip install ipykernel
# 将该环境注册为 Jupyter 内核
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
  • 扩展 (Extensions) :

    • JupyterLab 扩展:可以通过 pip 直接安装,极大地增强了功能,例如 jupyterlab-git (版本控制)、jupyterlab-lsp (代码补全) 等。

    • Voilà 扩展:由于 Voilà 基于 JupyterLab 组件构建,许多为 JupyterLab 开发的预构建扩展(prebuilt extensions) 可以直接在 Voilà 中工作 。例如,用于显示特殊数据格式的 jupyterlab-fasta 或 jupyterlab-geojson 渲染器。

4.3 三个工具的启动方式对比

工具 启动命令 (在终端) 默认访问地址 核心用途
Jupyter Notebook jupyter notebook http://localhost:8888/tree 创建和编辑单个 .ipynb 文件
JupyterLab jupyter lab http://localhost:8888/lab 集成化的项目级开发环境
Voilà voila your_notebook.ipynb http://localhost:8866 将 .ipynb 渲染为纯净的 Web 应用

5,示例

5.1 绘制简单图形

python 复制代码
# 导入 matplotlib 库,并用 plt 作为别名
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [1, 4, 9, 16, 25] # 这是 x 的平方值

# 使用微软雅黑,它通常包含上标数字等符号
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 或 'SimSun'
plt.rcParams['axes.unicode_minus'] = False   # 解决负号显示问题

# 创建折线图,marker='o' 表示在数据点显示圆点
plt.plot(x,y, marker='o')

# 添加标题和轴标签
plt.title("数字的平方关系")
plt.xlabel("数字 (x)")
plt.ylabel("平方值 (y = x²)")

# 显示图表
plt.show()

5.2 复杂的样式

python 复制代码
# 使用新的数据:0到10的数字及其立方
x = list(range(11))
y = [num**3 for num in x]
# 使用微软雅黑,它通常包含上标数字等符号
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 或 'SimSun'
plt.rcParams['axes.unicode_minus'] = False   # 解决负号显示问题
# 绘制红色虚线,带方形标记
plt.plot(x, y, color='red', linestyle='--', marker='s', markersize=6)
plt.grid(True) # 添加网格
plt.title("数字的立方关系")
plt.xlabel("数字")
plt.ylabel("立方值")
plt.show()

感谢阅读,下期更精彩 👋👋👋

相关推荐
这辈子谁会真的心疼你2 小时前
修改视频拍摄时间会被发现吗?修改视频拍摄时间的方法
python·音视频
九尾狐ai2 小时前
从青鸟文化案例看校园文化建设的技术架构与实现方案
开发语言·python
zhangfeng11332 小时前
unsloth 安装在google colab
pytorch·python·深度学习
Billy_Zuo2 小时前
Android Studio 打aar包
android·ide·android studio
isxhyeah2 小时前
python 数据结构 排序算法
数据结构·python·排序算法
喵手2 小时前
Python爬虫高阶:用 Playwright “监听” Figma 社区热门插件数据!
爬虫·python·爬虫实战·figma·playwright·零基础python爬虫教学·社区热门插件数据采集
MoRanzhi12032 小时前
Pillow 图像滤波、卷积与边缘处理
图像处理·python·计算机视觉·pillow·卷积·边缘检测·图像滤波
怪侠_岭南一只猿2 小时前
爬虫学习阶段三:动态网页爬取(完整学习文档)
爬虫·python·学习
南 阳2 小时前
Python从入门到精通day48
开发语言·python