VSCode需通过官方扩展与Python环境协同支持Jupyter,内核未注册或未正确选择会导致绘图失败;应运行jupyter kernelspec list确认内核,用python -m ipykernel install注册,并在VSCode中手动选择;%matplotlib inline启用内联绘图,禁用widget/qt后端;Plotly需设置pio.renderers.default = 'vscode',Altair需安装对应labextension;遇问题优先重启内核或重载窗口。

VSCode 本身不内置 Jupyter 支持,必须通过官方扩展和 Python 环境协同工作;直接装个插件点开 .ipynb 文件却画不出图,大概率是内核没连上或 matplotlib 后端没配对。
确认已安装 Python 和 Jupyter 内核
VSCode 的 Jupyter 功能依赖本地 Python 环境中的 jupyter 包,不是靠插件“自带”的。如果你用 pip install jupyter 装过,但 VSCode 仍提示“找不到可用内核”,说明内核注册失败或环境未激活。
- 在终端运行
jupyter kernelspec list,确认输出里有类似python3 /path/to/share/jupyter/kernels/python3 - 若没有,先激活目标 Python 环境(如
conda activate myenv或source venv/bin/activate),再运行python -m ipykernel install --user --name myenv --display-name "Python (myenv)" - VSCode 中打开 Notebook 后,右上角 kernel 选择器必须手动选中你刚注册的名称,不能只依赖默认值
启用 inline 绘图并避免空白图
Matplotlib 默认后端在 VSCode Notebook 里可能不渲染,尤其 macOS 或远程 SSH 连接时。不显式配置,plt.show() 可能无效,plt.plot() 后什么也不显示。
HISUI 前端框架基础开发指南。HISUI 是基于 easyui 二次开发的 jQuery UI 组件库,专为医疗信息系统设计。当涉及 HISUI 组件开发、jQuery easyui 表格/表单/布局/窗口、医疗系统前端页面编写时使用此 skill。 涵盖 40 个组件的官方文档参考,支持声明式与编程式两种初始化方式,提供 $cm/$m 数据访问方法。
- 在 notebook 第一个 cell 执行:
%matplotlib inline
- 如果用了 seaborn,建议紧接着加
import matplotlib.pyplot as plt; plt.rcParams['figure.figsize'] = (8, 5)
避免图太小 - 禁用交互式后端:不要写
%matplotlib widget或%matplotlib qt,它们在 VSCode 中支持不稳定,容易报错ModuleNotFoundError: No module named 'ipywidgets'
处理常见错误:No module named 'plotly' 或 Figure not shown
Plotly、Altair 等库需要额外设置才能在 VSCode Notebook 中正常渲染。不是 pip 安装完就能用——它们依赖前端扩展或特定渲染协议。
- Plotly:必须安装
plotly[orca](用于静态导出)+ VSCode 插件 Plotly Viewer(非必需但推荐),并在代码开头加import plotly.io as pio; pio.renderers.default = 'vscode'
- Altair:确保已运行
jupyter labextension install @jupyter-widgets/jupyterlab-manager jupyterlab-plotly——注意这是jupyter lab命令,VSCode 使用的是 Lab 协议兼容层,不装扩展会导致ValueError: Renderer 'jupyterlab' is not registered - 遇到
Figure not shown,优先检查是否漏了plt.show()(虽%matplotlib inline下可省略,但某些版本仍需)或 cell 没执行(VSCode 不自动运行所有 cell)
最常被忽略的一点:VSCode 的 Jupyter 支持实际走的是 Jupyter Server 协议,不是纯前端渲染。重启内核、清空 output、重载窗口(Ctrl+Shift+P → Developer: Reload Window)比反复改代码更有效。特别是切换 conda 环境后,旧 kernel 进程可能还在跑,导致包版本错乱。

















