必须安装jupyter和ipykernel并手动选择正确Python解释器,否则VS Code中Notebook将无法运行、内核连接失败或变量面板空白;需验证jupyter --version和import ipykernel成功,并执行python -m ipykernel install --user注册内核。

能用,但不是开箱即用——必须装 jupyter 和 ipykernel,且 VS Code 得选对 Python 解释器,否则点运行没反应、内核连不上、变量面板空白都是常态。
确认 Python 环境里真有 jupyter 和 ipykernel
VS Code 本身不带 Jupyter 内核,全靠你本地 Python 环境提供。很多人卡在第一步:以为装了 VS Code 扩展就万事大吉,结果 jupyter --version 报错或根本找不到命令。
- 打开终端,运行
jupyter --version,有输出(比如5.7.0)才算通过 - 如果报
command not found或ModuleNotFoundError,说明没装:pip install jupyter ipykernel - 用 conda 环境?优先用
conda install jupyter ipykernel,混用 pip/conda 容易导致内核注册失败 - 装完别忘了在对应环境里运行一次
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"(myenv换成你的环境名),否则 VS Code 可能找不到它
VS Code 必须选对解释器,不是“有就行”
选错解释器是第二大高频问题:状态栏显示“Python 3.x”,但点运行单元格没输出、右上角一直卡在 “Connecting to kernel…”——大概率是解释器路径指向了没装 ipykernel 的另一个 Python。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Jupyter: Select Interpreter to Start Jupyter Server - 从列表里选的必须是那个你刚装过
jupyter和ipykernel的环境,比如./venv/bin/python或anaconda3/envs/data/bin/python - 选完后看右下角状态栏,应该显示类似
Python 3.11.5 (venv),而不是模糊的Python 3.11.5——括号里的提示才是关键 - 如果选完仍连不上,打开输出面板(
Ctrl+Shift+U),选Jupyter日志,搜Failed to start the kernel,通常会暴露缺哪个模块
内核断连不报错,但代码就是不执行
VS Code 的 Notebook UI 不会像网页版那样弹出 “Kernel died”,它只会静默失效:光标不动、输出区空、变量面板不刷新。你可能还在改代码,其实内核早崩了。
- 点右上角当前内核名(如
Python 3.11.5 (venv)),弹出菜单里如果出现Restart Kernel或Interrupt Kernel,说明内核已掉线 - 常见诱因:单元里执行了无限循环、内存爆掉、调用了
os._exit()这类强制退出函数 - 别依赖自动重连——手动点
Restart Kernel是最快恢复方式;重启前可先清空输出(Clear Outputs),避免旧错误干扰 - 如果频繁断连,检查代码里有没有
sys.exit()、exit()或直接 kill 进程的操作,Jupyter 内核扛不住这些
变量面板只能看简单对象,复杂结构得靠 print
变量面板(Variables side panel)看着方便,但它只支持基础类型和扁平结构。DataFrame、嵌套 dict、自定义 class 实例……点进去经常是空的或只显示地址。
- 别等变量面板加载完成——它不支持懒加载,大数据集一卡就是十几秒
- 想看 DataFrame 内容?写
print(df.head())或display(df)(前提是IPython.display可用) - 调试时更推荐用 VS Code 的调试模式:打断点 + hover 查看变量,比依赖面板可靠得多
- 注意:
display()在某些环境下(比如远程内核或受限工作区)会被禁用,print()才是通用保底方案
真正麻烦的从来不是“怎么启动”,而是“为什么看起来启动了却没反应”——内核路径、环境隔离、静默崩溃、变量查看限制,这四点串起来才是日常真实体验。动手前先跑通 jupyter --version 和 python -c "import ipykernel",省掉后面 80% 的排查时间。


















