VSCode运行Jupyter Notebook需本地Python环境及jupyter包,依赖Python扩展调用系统jupyter命令;须正确配置解释器、关联.ipynb文件到Jupyter编辑器、安装ipykernel,并确保jupyter可执行文件在PATH中。

VSCode 里运行 Jupyter Notebook 不需要额外安装独立的 Jupyter 服务,只要 Python 环境和 jupyter 包就绪,VSCode 的官方 Python 扩展就能直接启动内核并执行单元格。
确认 Python 和 jupyter 已正确安装
VSCode 不自带 Jupyter 运行时,它依赖你本地的 Python 环境提供 jupyter 可执行文件。常见错误是 VSCode 找不到 jupyter,表现为点击“Run Cell”后提示 “Jupyter server failed to start” 或 “Command 'jupyter' not found”。
- 在终端运行
jupyter --version,确保输出类似5.7.2或更高版本 - 如果报错,用
pip install jupyter安装(注意:不是pip install notebook单独装,jupyter包已包含notebook) - 若使用 conda 环境,确保 VSCode 激活的是该环境(底部状态栏显示正确的 Python 解释器路径)
- VSCode 中按
Ctrl+Shift+P(macOS 为Cmd+Shift+P),输入 “Python: Select Interpreter”,选中含jupyter的那个解释器
打开 .ipynb 文件后无法运行单元格
VSCode 默认把 .ipynb 当作文本文件打开,不会自动启用 Notebook 视图。必须手动触发或设置默认打开方式。
- 右键
.ipynb文件 → “Open With” → 选择 “Jupyter”(不是 “Text Editor”) - 或直接双击文件后,点击右上角弹出的 “Open in Notebook Editor” 按钮
- 也可在设置中搜索
files.associations,添加:"*.ipynb": "jupyter"
,让所有 notebook 文件默认用 Notebook 编辑器打开 - 若已打开但顶部无运行按钮,检查左下角是否显示 “Not connected” —— 点击它,选择 “Start a new kernel” 或指定已有内核
运行单元格时卡住、无输出、内核显示 “Busy”
这通常不是代码问题,而是内核未真正启动成功,或被其他进程占用。VSCode 的 Jupyter 内核管理比浏览器更隐蔽。
- 查看 VSCode 右下角状态栏:若有黄色警告图标,悬停可看到具体错误(如端口被占、
ipykernel版本不兼容) - 尝试重启内核:命令面板(
Ctrl+Shift+P)→ 输入 “Jupyter: Restart Kernel and Clear All Outputs” - 确保已安装
ipykernel:运行python -m pip install ipykernel;若用 conda,运行conda install ipykernel - 某些公司网络会拦截 localhost 的 WebSocket 连接,此时需在设置中启用
jupyter.allowUnauthorizedRemoteConnection(仅限可信环境)
想用远程 Jupyter Server(比如服务器上的 jupyter lab)
VSCode 支持连接外部 Jupyter 服务,但必须确保服务以允许远程连接的方式启动,并且端口可访问。
- 在服务器上启动时,不要只运行
jupyter notebook,而要用:jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser --allow-root
- VSCode 中打开命令面板 → “Jupyter: Specify Local or Remote Jupyter Server” → 选择 “Existing” → 输入类似
http://your-server-ip:8888/?token=xxx的完整 URL(token 在服务器启动日志里) - 注意:VSCode 不支持带密码的 Jupyter server(只支持 token 认证),也不支持 HTTPS 自签名证书(会报 SSL 错误)
最常被忽略的一点:VSCode 的 Jupyter 功能深度绑定 Python 扩展,但扩展本身不负责提供 jupyter 命令 —— 它只是调用你系统 PATH 里的可执行文件。所以一切“找不到命令”“内核启动失败”的问题,90% 都要回到终端里验证 jupyter --version 和 which jupyter(macOS/Linux)或 where jupyter(Windows)是否指向你预期的位置。










