Jupyter 安装与使用指南:从环境配置到效率翻倍

前言

Jupyter Notebook / JupyterLab 是 Python 数据科学领域最流行的交互式开发工具,它把代码、文档、图表融为一体,非常适合探索性数据分析、机器学习实验和技术文档编写。

本文从零开始,覆盖 Conda 环境下的安装、内核配置、常用快捷键、魔法命令以及常见问题排查,适合初次接触 Jupyter 或想系统梳理用法的读者。


一、基础概念

在开始安装之前,先理清三个概念:

名称 是什么
Jupyter Notebook 经典 Web 界面,.ipynb 文件的默认编辑器
JupyterLab 新一代界面,支持多标签页、文件浏览器、终端、Markdown 预览等,功能更强
ipykernel 内核,负责执行你写的 Python 代码。每个 Conda 环境可以注册一个独立内核

一句话总结: JupyterLab 是升级版的 Notebook,ipykernel 是背后的执行引擎。本文后续均推荐使用 JupyterLab。


二、安装步骤

2.1 激活目标环境

bash 复制代码
conda activate ml

2.2 安装 Jupyter 核心组件

bash 复制代码
# 安装 Jupyter Notebook(经典版,包含 jupyter 命令)
pip install jupyter

# 安装 JupyterLab(推荐,功能更全)
pip install jupyterlab

如果只装 JupyterLab,也可以省略 jupyter 这个包------jupyter lab 命令由 jupyterlab 自带。

2.3 安装并注册内核

这是最关键的一步:把当前 Conda 环境注册为 Jupyter 的内核,这样在 Jupyter 里运行代码时,使用的就是当前环境的 Python 和已安装的包。

bash 复制代码
# 安装内核工具
pip install ipykernel

# 注册内核,"ml" 对应 Conda 环境名,"Python (ml)" 是界面上显示的名称
python -m ipykernel install --user --name=ml --display-name="Python (ml)"

验证内核是否注册成功:

bash 复制代码
jupyter kernelspec list

示例输出:

复制代码
Available kernels:
  python3        C:\...\jupyter\kernels\python3
  ml             C:\...\jupyter\kernels\ml

三、多内核管理与生产环境实践

当你有多个 Conda 环境需要接入 Jupyter 时,按上述方式为每个环境注册一个内核即可:

bash 复制代码
conda activate dl_env
pip install ipykernel
python -m ipykernel install --user --name=dl_env --display-name="Python (DL)"

conda activate web_env
pip install ipykernel
python -m ipykernel install --user --name=web_env --display-name="Python (Web)"

之后在 Jupyter 界面中即可自由切换不同环境,无需重启服务。

删除内核

bash 复制代码
# 列出所有内核,找到要删除的名称
jupyter kernelspec list

# 卸载指定内核
jupyter kernelspec uninstall ml

注意:卸载内核只是移除了"环境 → Jupyter"的映射关系,不会删除你的 Conda 环境本身。


四、启动与访问

命令 作用
jupyter notebook 启动经典 Notebook
jupyter lab 启动 JupyterLab(推荐)
jupyter lab --port 8888 指定端口启动
jupyter lab --no-browser 不自动打开浏览器(适合远程服务器)
jupyter lab --ip=0.0.0.0 允许外部访问(配合远程服务器使用)

远程服务器典型启动方式:

bash 复制代码
jupyter lab --no-browser --port=8888 --ip=0.0.0.0

然后在本地浏览器访问 http://<服务器IP>:8888,查看终端输出的 token 完成首次登录。


五、快捷键速查

掌握这些快捷键可以大幅减少鼠标操作,让你的 Jupyter 体验上天入地。

5.1 两种模式

模式 进入方式 特点
命令模式(蓝色边框) Esc 操作单元格整体:移动、删除、切换类型
编辑模式(绿色边框) Enter 在单元格内编写代码或 Markdown

5.2 命令模式快捷键(按 Esc 后生效)

快捷键 作用
A 在当前单元格上方插入新单元格
B 在当前单元格下方插入新单元格
DD(连按两次 D) 删除当前单元格
M 将单元格转为 Markdown 类型
Y 将单元格转为 代码 类型
Shift + ↑ / ↓ 多选单元格
Shift + M 合并选中的单元格
Z 撤销删除单元格
Ctrl + Shift + - 在光标处拆分单元格

5.3 编辑模式快捷键(按 Enter 后生效)

快捷键 作用
Shift + Enter 运行当前单元格,并跳转到下一格
Ctrl + Enter 运行当前单元格,光标留在原地(适合反复调试)
Alt + Enter 运行当前单元格,并在下方插入新格
Tab 代码补全 / 函数签名提示
Shift + Tab 展开当前函数的文档字符串(多按几次可展开更多)

六、魔法命令

魔法命令以 %%% 开头,是 Jupyter 的内置增强功能(来自 IPython)。

6.1 常用行魔法命令(%

python 复制代码
# 查看当前目录下所有变量及其类型
%whos

# 测量单行代码的执行时间
%timeit sum(range(1000000))

# 测量多行代码的执行时间
%%timeit 
result = 0
for i in range(1000000):
    result += i

# 让 matplotlib 图表直接嵌入 notebook
%matplotlib inline

# 一行代码启用调试器,异常时自动进入 pdb
%pdb

# 列出所有魔法命令
%lsmagic

6.2 在单元格中执行 Shell 命令

python 复制代码
# 执行任意 shell 命令
!pip list

# 将 shell 命令的输出赋值给 Python 变量
files = !ls
print(files)

6.3 其他实用操作

python 复制代码
# 将单元格内容写入文件
%%writefile hello.py
print("Hello, World!")

# 加载外部 Python 文件
%load hello.py

# 运行外部 Python 脚本
%run hello.py

七、常用扩展推荐

JupyterLab 支持丰富的扩展生态,以下为高频实用的几个:

bash 复制代码
pip install nbconvert nbformat ipywidgets jupyterlab-language-packs-zh-CN
扩展 作用
nbconvert 将 .ipynb 导出为 HTML / PDF / Markdown / Python 脚本
nbformat 程序化读写 .ipynb 文件(适合构建自动化管道)
ipywidgets 在 Notebook 中创建滑块、按钮、下拉菜单等交互控件
jupyterlab-language-packs-zh-CN JupyterLab 简体中文语言包

导出为 HTML 示例:

bash 复制代码
jupyter nbconvert --to html notebook.ipynb

八、常见问题

Q1: 终端提示找不到 jupyter 命令

通常是因为没有在当前环境中安装 Jupyter,或者安装后没有重新激活环境。

bash 复制代码
conda activate ml
pip install jupyter jupyterlab ipykernel

Q2: 在 Jupyter 里如何安装缺失的包?

直接在单元格中运行即可,包会安装到当前内核对应的环境中:

python 复制代码
!pip install package_name

Q3: 内核列表中看不到我注册的环境

重新执行注册命令,并检查是否有权限问题(--user 确保安装到用户目录):

bash 复制代码
python -m ipykernel install --user --name=ml --display-name="Python (ml)"
jupyter kernelspec list

Q4: 如何让 JupyterLab 显示中文界面?

安装中文语言包后,在 Settings → Language 中切换到中文:

bash 复制代码
pip install jupyterlab-language-packs-zh-CN

Q5: 远程连接时忘了 token 怎么办?

在服务器终端执行以下命令查看正在运行的 Jupyter 进程列表及 token:

bash 复制代码
jupyter server list

九、配置密码登录(远程服务器必备)

每次复制粘贴 token 很不方便,可以设置一个固定密码:

bash 复制代码
jupyter server password

按提示输入密码后,会在 ~/.jupyter/jupyter_server_config.json 生成密码哈希。之后访问 Jupyter 时直接输密码即可。


总结

Jupyter 的核心竞争力在于 "代码 + 文档 + 图表"三者合一 的交互式体验。本文从安装配置、内核管理、快捷键、魔法命令到远程部署,覆盖了 Jupyter 日常使用的完整链路。

几点建议:

  • 日常开发用 JupyterLab 替代经典 Notebook,功能强太多
  • 快捷键中 Shift + EnterA/BM/YDD 是"元技能",尽快练成肌肉记忆
  • 魔法命令 %timeit%pdb%matplotlib inline 是调试和性能分析的利器
  • 远程服务器上设置好 server password,省去每次找 token 的麻烦
相关推荐
2501_9364156911 小时前
可变参数&综合练习&斗地主游戏
java·windows·游戏
2501_9159214315 小时前
iOS开发环境搭建详解 Xcode 配置与快蝎轻量级工具选择
ide·vscode·macos·ios·个人开发·xcode·敏捷流程
西安景驰电子17 小时前
PCIe 授时卡原理及应用
运维·服务器·windows·单片机·嵌入式硬件·fpga开发
wardenlzr18 小时前
VSCode 运行 Live Server 提示「Windows 找不到文件 Chrome」问题全解析
chrome·windows·vscode
xuhe219 小时前
一劳永逸!解决 AutoDL 系统盘(30GB)爆满与 pip 缓存迁移
linux·python·ai·jupyter
好好沉淀19 小时前
Windows 下升级 Maven 3.6.1 到 3.9.9 踩坑全记录
java·windows·maven
weixin_4365250720 小时前
Windows 上终止占用的端口进程
windows
古道青阳20 小时前
Duilib 技术全景剖析
c++·windows
jing.wang_202521 小时前
NVIDIA CUDA C++编程环境搭建--Windows + Ubuntu 22.04
c++·windows·ubuntu·gpu算力
wechatbot8881 天前
解决企业微信官方 API 短板:iPad 协议全功能对接方案
java·汇编·windows·http·微信·企业微信