Python中怎么启动Jupyter Notebook
详细讲解在Python环境中启动Jupyter Notebook的标准步骤、指定目录与端口的高级参数、运行机制以及常见启动报错的排查方法。
jupyter notebook。执行后,系统会在本地建立一个Web服务进程,并在默认浏览器中自动打开工作面板。
Jupyter Notebook是一款广受欢迎的交互式计算环境,它允许开发者将实时代码、运行结果、可视化图表和Markdown说明文本集成在同一个文档中。初学者在配置好Python环境后,往往需要掌握从命令行调起服务、指定工作目录、管理运行参数以及解决端口与环境冲突的实际技能。本文将系统梳理标准启动流程、内部工作机制、进阶运行参数及常见问题排查方案。
一、启动前的环境与依赖检查
Jupyter Notebook基于Python运行。在尝试启动之前,应确认当前系统中已经正确安装了Python解释器以及Jupyter软件包。
打开终端窗口,输入以下命令查看Python与Jupyter的版本:
python --version
jupyter --version
Selected Jupyter core packages...
IPython : 8.20.0
ipykernel : 6.29.0
jupyter_client : 8.6.0
jupyter_core : 5.7.1
notebook : 7.0.8
如果系统提示 command not found 或 'jupyter' 不是内部或外部命令,说明尚未在当前环境安装Jupyter包。可通过pip进行快速安装:
pip install notebook
对于使用Anaconda或Miniconda的用户,Conda基础环境中通常已经自带Jupyter,亦可通过 conda install notebook 完成补充安装。
二、标准命令行启动流程
启动Jupyter Notebook的核心原则是:先切换到目标代码所在的文件夹,再执行启动命令。因为Jupyter默认以启动命令执行时的当前工作路径(Current Working Directory)作为文件浏览器的根目录,无法直接向上访问未授权的父级目录。
- 打开终端程序:Windows用户建议使用“命令提示符(CMD)”或“PowerShell”;macOS与Linux用户打开“终端(Terminal)”。
- 切换工作路径:使用
cd命令进入你存放数据分析脚本或学习代码的目录。例如:
在Windows平台若跨盘符操作,需先输入盘符,如cd /Users/username/Projects/PythonDatad:,再cd D:\Projects\PythonData。 - 执行启动命令:输入启动命令并按下回车:
jupyter notebook - 进入Web界面:终端会输出一系列服务初始化日志,并在1至3秒内自动调用系统默认浏览器打开主页(通常为
http://localhost:8888/tree)。
三、Jupyter Notebook 启动机制解析
执行 jupyter notebook 命令并不是简单启动一个桌面GUI窗口,而是拉起了一个完整的C/S(客户端/服务端)架构计算集群。
具体来说,启动过程分为三个主要层次:
- 本地服务端(Tornado Web Server):在后台常驻运行,负责管理文件系统的读写、处理HTTP请求,并维护鉴权令牌(Token)。它默认监听本地的
8888端口。 - 前端用户界面(Web Browser):通过HTML5、CSS和JavaScript构建的交互面板。用户在网页中编写代码单元格(Cell),通过WebSocket双向连接将计算任务发送给后端。
- 计算内核(IPython Kernel):每一个打开的
.ipynb记事本都对应一个独立的Python解释器子进程。内核负责真正的代码执行,将输出流、图表对象和变量状态回传给前端渲染。
四、常用启动参数与特殊场景应对
在日常开发中,直接输入 jupyter notebook 虽然方便,但在多项目协作、远程服务器使用或端口被占用时,往往需要携带参数启动。
1. 直接指定工作目录(无需手动 cd)
如果不想每次启动都手动切换命令行路径,可以使用 --notebook-dir 参数直接指定项目根目录:
jupyter notebook --notebook-dir="/Users/username/Projects/DataAnalysis"
在Windows系统下,路径若包含空格或反斜杠,建议使用双引号包裹:
jupyter notebook --notebook-dir="D:\My Projects\Analysis"
2. 指定自定义服务端口
Jupyter默认监听 8888 端口。如果该端口已被其他Web服务占用,或已经有一个Jupyter实例在运行,可以通过 --port 参数指定端口:
jupyter notebook --port 8899
3. 不自动弹出浏览器(适用于服务器或多屏调试)
在云服务器、Docker容器或通过SSH远程连接的环境中,系统没有安装图形界面,此时自动弹出浏览器会报错。使用 --no-browser 参数可以仅启动后台服务:
jupyter notebook --no-browser --port 8888
4. 允许远程网络访问
默认情况下,Jupyter只监听本地回环地址 127.0.0.1。若需局域网其他计算机访问,可指定IP监听所有网络接口:
jupyter notebook --ip=0.0.0.0 --no-browser
五、虚拟环境(Virtualenv/Conda)中的启动细节
实际开发中,项目往往依赖特定的第三方库版本。如果在系统全局环境中启动Jupyter,可能会导致代码中找不到已安装的包。正确的做法是:先激活项目专属的虚拟环境,再启动Jupyter Notebook。
使用 venv 虚拟环境:
# 1. 激活虚拟环境 (macOS/Linux)
source myenv/bin/activate
# 1. 激活虚拟环境 (Windows CMD)
myenv\Scripts\activate.bat
# 2. 确认已在虚拟环境中,启动服务
jupyter notebook
使用 Conda 环境:
# 激活指定环境
conda activate py310_env
# 启动Jupyter
jupyter notebook
ipykernel,并执行 python -m ipykernel install --user --name=环境名 将内核注册至全局。
六、启动常见问题排查与正确退出方式
在启动和运行Jupyter Notebook的过程中,初学者最常遇到的异常表现及对应排查策略如下:
| 异常现象 | 根本原因 | 针对性解决方案 |
|---|---|---|
'jupyter' 不是内部或外部命令 |
Python或Jupyter安装路径未加入系统环境变量 PATH,或虚拟环境未激活 |
检查Python安装时是否勾选“Add to PATH”;进入Python的 Scripts 目录手动执行,或使用 python -m notebook 替代。 |
| 终端已输出日志,但浏览器没有任何反应 | 系统默认浏览器关联失效,或权限受限阻止了自动调起 | 查看终端末尾输出的完整URL(包含 token=...),鼠标复制该地址手动粘贴到Chrome或Edge中访问。 |
提示 Port 8888 is already in use |
已有其他Jupyter或Web服务占用了8888端口 | Jupyter通常会自动尝试8889端口;如未自动切换,可通过 jupyter notebook --port 8890 显式指定。 |
| 网页要求输入 Password or token | 启用了安全鉴权,直接从书签打开未携带身份令牌 | 回到启动终端中,复制带有形如 ?token=xxxxxx 的链接访问即可免密登录。 |
如何正确关闭 Jupyter Notebook
许多初学者在使用完毕后直接关闭了网页浏览器窗口,误以为服务已经终止。实际上,后台的Tornado Web服务与各个Notebook对应的Python内核仍然在内存中常驻运行,继续占用计算资源和网络端口。
正确的安全退出方法:
- 在网页端点击 File > Save and Checkpoint(或按快捷键
Ctrl + S/Cmd + S)保存文档内容。 - 切换回运行该服务的终端窗口,按下键盘上的组合键
Ctrl + C。 - 终端会提示
Shutdown this Jupyter server (y/[n])?,输入y并按回车确认(或直接连续按下两次Ctrl + C)。 - 看到终端返回正常的命令行输入提示符后,表明服务与相关Python内核已全部安全释放。
七、总结
在Python中启动Jupyter Notebook是开展交互式数据探索与科学计算的第一步。掌握这一过程的核心要领可以概括为:确认环境依赖、提前 cd 进入项目根路径、终端执行 jupyter notebook、遇异常检查端口与Token、结束时通过 Ctrl + C 规范释放。根据实际业务需求合理搭配 --notebook-dir、--port 和 --no-browser 参数,能够在本地开发、跨设备协作和服务器部署中游刃有余。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













