VSCode里如何运行Jupyter Notebook?【教程】

10次阅读

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

VSCode里如何运行Jupyter Notebook?【教程】

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+PmacOS 为 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 --versionwhich jupytermacOS/linux)或 where jupyterwindows)是否指向你预期的位置。

text=ZqhQzanResources