如何在vscode中集成Jupyter Notebook_运行交互式Python代码块【教程】

发布时间 - 2026-01-28 00:00:00    点击率:
VS Code 通过 Python 扩展支持 Jupyter Notebook,需安装 jupyter 和 ipykernel 并正确选择解释器;首次启动可能卡顿,内核断连需手动重启;变量面板对复杂对象支持有限,建议用 print/display 或调试模式查看。

VS Code 本身不内置 Jupyter 内核,但通过官方 Python 扩展 + jupyter 包即可完整支持 Notebook 编辑、执行、变量检查和内核切换——前提是 Python 环境里装了 jupyter,且 VS Code 能正确识别它。

确认 Python 扩展和 Jupyter 内核已就位

VS Code 的 Jupyter 功能由 Python 扩展(ms-python.python) 提供,不是单独的 “Jupyter 扩展”。安装后,它会自动尝试查找系统中可用的 Jupyter 内核。

  • 在终端运行 jupyter --version,确保输出类似 5.7.0 或更高版本;若报错,先用 pip install jupyter 安装
  • 如果使用 conda 环境,建议用 conda install jupyter,避免 pip/conda 混用导致内核注册失败
  • VS Code 中按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Jupyter: Select Interpreter to Start Jupyter Server,选中你希望运行 Notebook 的 Python 解释器(比如 ./venv/bin/pythonanaconda3/envs/myenv/bin/python
  • 选完后,VS Code 底部状态栏会显示内核状态(如 Python 3.11.5 (venv)),表示已连接成功

打开或新建 .ipynb 文件时常见卡顿/无响应

这不是 VS Code 崩溃,而是内核启动或依赖加载慢。尤其首次打开、或使用未预装 ipykernel 的环境时,VS Code 会自动运行 python -m pip install ipykernel,这个过程可能静默卡住几秒到几十秒。

  • 若右上角持续显示“Connecting to kernel…”超过 30 秒,打开 VS Code 的输出面板(Ctrl+Shift+U),选择 Jupyter 日志,看是否有 Failed to start the kernelModuleNotFoundError: No module named 'ipykernel'
  • 手动修复:在对应 Python 环境下运行 python -m pip install ipykernel,再重启 VS Code 窗口(不是重载窗口)
  • 避免

    反复安装:如果多个项目共用同一虚拟环境,只装一次 ipykernel 即可;不同环境需各自安装
  • 禁用自动安装(进阶):在 VS Code 设置中搜索 jupyter.askForKernelRestart,关闭它可减少干扰,但需手动管理内核

代码块执行失败但没报错?检查内核是否意外断开

VS Code 的 Notebook 界面不会像网页版 Jupyter 那样明显提示 “Kernel died”,而可能只是光标卡住、输出空白、或变量面板不更新——本质是内核进程已退出,但 UI 没刷新状态。

  • 点击右上角内核名称(如 Python 3.11.5),弹出菜单中若出现 Restart KernelInterrupt Kernel,说明当前内核仍活跃;若只有 Select Kernel,大概率已断连
  • 执行任意 cell 前,先点内核名 → Restart Kernel and Run All Cells,这是最稳妥的清理方式
  • 注意:中断执行(Interrupt Kernel)不会清除变量,而重启会清空所有变量和导入状态
  • 频繁断连?检查是否在 cell 中运行了阻塞操作(如 input()、无限循环、或调用了需要 GUI 的库如 matplotlib.pyplot.show()

为什么变量面板看不到自定义类实例或 numpy 数组?

VS Code 的变量查看器(Variables panel)对复杂对象的支持有限,默认只展开基础类型(int/str/list/dict)和 pandas DataFrame。numpy 数组、PyTorch 张量、自定义类等,通常只显示类型和内存地址。

  • 想看数组内容:在 cell 中显式调用 print(arr)display(arr)(需 from IPython.display import display)
  • 启用高级数据查看:在设置中搜索 jupyter.experimentalVariableView,勾选后变量面板会尝试渲染更多结构化数据(但仍有兼容性限制)
  • 调试模式下(F5 启动调试),变量面板能力更强,但仅适用于单个 .py 文件,不适用于 .ipynb 的交互执行
  • 真正需要深度 inspect 对象时,还是推荐在 cell 中用 vars(obj)dir(obj)obj.__dict__ 手动探查

最常被忽略的一点:VS Code 的 Notebook 支持依赖于当前打开文件夹的 Python 解释器设置。如果只是单独打开一个 .ipynb 文件(没打开文件夹),它默认使用系统 Python,很可能找不到你项目里 requirements.txt 安装的包。务必先用 File > Open Folder 打开项目根目录,再选择解释器。


# linux  # python  # vscode  # windows  # mac  # ai  # macos  # win  # pytorch  # 虚拟环境  # numpy  # pandas  # matplotlib  # pip  # conda  # ipython  # print  # select  # int  # 循环  # 对象  # display  # input  # jupyter  # ui  # 重启  # 首次  # 自定义  # 报错  # 先用  # 进阶  # 这是  # 多个  # 找不到  # 适用于 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 制作旅游网站html,怎样注册旅游网站?  如何在IIS中新建站点并配置端口与物理路径?  如何用好域名打造高点击率的自主建站?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  网易LOFTER官网链接 老福特网页版登录地址  js实现获取鼠标当前的位置  七夕网站制作视频,七夕大促活动怎么报名?  详解Android中Activity的四大启动模式实验简述  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  如何实现建站之星域名转发设置?  Python并发异常传播_错误处理解析【教程】  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  UC浏览器如何设置启动页 UC浏览器启动页设置方法  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Python高阶函数应用_函数作为参数说明【指导】  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  如何在IIS7上新建站点并设置安全权限?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  如何构建满足综合性能需求的优质建站方案?  微信小程序 五星评分(包括半颗星评分)实例代码  如何快速建站并高效导出源代码?  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  Android自定义控件实现温度旋转按钮效果  如何在阿里云服务器自主搭建网站?  php 三元运算符实例详细介绍  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Python进程池调度策略_任务分发说明【指导】  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何利用DOS批处理实现定时关机操作详解  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何在万网开始建站?分步指南解析  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  如何基于云服务器快速搭建个人网站?  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  Laravel集合Collection怎么用_Laravel集合常用函数详解  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  Windows Hello人脸识别突然无法使用  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  javascript如何操作浏览器历史记录_怎样实现无刷新导航