VS Code 通过 Jupyter 扩展调用 Jupyter Server 运行 Notebook,依赖 Python 环境、内核注册和扩展配置三者对齐;需安装 ms-toolsai.jupyter 扩展、在目标环境安装并注册 ipykernel、正确选择内核,运行单元格用 Shift+Enter,调试需手动执行变量查看。
vs code 本身不直接“运行” jupyter notebook,而是通过 jupyter 扩展调用本地或远程的 jupyter server(比如 jupyter lab 后端或 ipykernel)来执行代码单元。能否顺利运行,取决于 python 环境、内核注册和扩展配置三者是否对齐。
确认已安装并启用 Jupyter 扩展
VS Code 的 Jupyter 功能由官方扩展 ms-toolsai.jupyter 提供,不是内置功能。未安装该扩展时,打开 .ipynb 文件只会显示 JSON 源码或提示“需要 Jupyter 扩展”。
- 在扩展市场搜索
Jupyter,安装由Microsoft发布的官方扩展(ID:ms-toolsai.jupyter) - 安装后重启 VS Code,或按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Jupyter: Select Interpreter to Start Jupyter Server测试是否可触发 - 若命令不可见或报错
Command 'Jupyter: Select Interpreter...' not found,说明扩展未激活——检查是否被禁用,或尝试重装
确保 Python 环境中已安装 ipykernel 并注册为内核
VS Code 需要一个可用的 Python 内核(kernel)来执行 notebook 单元。仅安装 jupyter 包不够,ipykernel 才是提供交互式执行能力的关键。
- 在目标 Python 环境中运行:
pip install ipykernel
- 注册该环境为 Jupyter 内核:
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
(其中myenv是自定义内核名,--display-name将显示在 VS Code 内核选择器中) - 打开 notebook 后,点击右上角 kernel 选择器(显示如
Python 3.11.5 ('myenv': venv)),确认选中的是你刚注册的那个内核 - 常见错误:选中了系统 Python 或 conda base 环境,但该环境没装
pandas/numpy等分析库 → 运行import pandas as pd会报ModuleNotFoundError
运行单元格与调试数据的实用操作
VS Code 的 notebook 编辑体验接近 Jupyter Lab,但快捷键和交互逻辑略有差异,容易卡在“点了运行没反应”或“变量没加载进内存”上。
- 运行单个单元格:选中单元格后按
Shift+Enter(不是Ctrl+Enter);也可点击左侧三角形按钮 - 变量查看:执行完含
df.head()或plt.show()的单元后,输出会内联显示;右侧变量面板(View > Variables)只在调试模式下生效,普通 notebook 不自动填充 —— 想查df.shape,得手动写一行df.shape并运行 - 中断执行:点击顶部红色方块按钮(
Interrupt Kernel),而非关掉终端;否则可能残留僵尸进程导致下次启动失败 - 重启内核再运行:菜单栏
Kernel > Restart Kernel and Run All Cells,适合改完依赖库后快速验证
遇到 Failed to start Jupyter server 怎么办
这个错误通常不是 VS Code 问题,而是底层 Jupyter Server 启动失败,原因集中在端口、权限或路径。
- 先在终端手动运行:
jupyter notebook --no-browser --port=8888
,看是否报错(如Address already in use或Permission denied) - 若提示
command not found: jupyter,说明当前 shell 没把 Python 的Scripts/(Windows)或bin/(macOS/Linux)加进PATH—— VS Code 可能继承了错误的环境变量 - 解决方法:在 VS Code 中按
Ctrl+Shift+P→Developer: Reload Window with Extensions Disabled,再启用 Jupyter 扩展;或在设置中搜索jupyter.defaultKernelSpecName,设为具体内核名(如myenv)避免自动探测失败 - Windows 用户注意:杀毒软件(尤其 McAfee、Trend Micro)常拦截
ipykernel启动,临时禁用可验证是否为此原因
真正卡住的点往往不在“怎么点运行”,而在于内核是否真就绪、库是否真在那个环境里、以及 VS Code 是否读到了正确的 Python 路径。每次换环境(conda/virtualenv/pyenv)都建议重新注册内核并手动验证 import 常用包。










