当前位置:

首页 > 编程开发 > VSCode运行Jupyter Notebook_VSCode数据分析环境搭建

VSCode运行Jupyter Notebook_VSCode数据分析环境搭建

VSCode中运行JupyterNotebook时内核不可用的根本原因是Python解释器缺少ipykernel或未成功注册。通常的解决方法是:用户需在VSCode中正确选择Python解释器,安装ipykernel并务必带上--user参数注册内核;若连接卡顿则需关闭远程Jupyter设置并启用本地内核模式。

常在VSCode里倒腾Notebook的,都见过这糟心事——点开.ipynb文件,编辑器一片空白,右上角还冷冷地挂着“Python 3 (una vailable)”。这情况说白了,根子就一个:你选的那个Python解释器里,没装ipykernel,或者装了但没成功注册进Jupyter的内核列表。

不是插件没装,也不是jupyter命令不存在,而是VSCode压根找不到一个能跟它正常通信的Python内核。搞明白这一点,问题就解决了一半。

内核选择器为空,或显示“不可用”

这是最典型的卡点。你别看VSCode连着你的Python路径了,但那个环境里可能根本没有可启动的内核进程。

第一步,确认解释器选得对不对。按下快捷键(Win/Linux是Ctrl+Shift+P,Mac是Cmd+Shift+P),执行Python: Select Interpreter。你要找的是那种带着明确路径的项,比如./venv/bin/python或者C:\Users\...\anaconda3\envs\ds-env\python.exe。确认之后,看VSCode底部状态栏,应该已经显示成这条路径了。

接着,打开终端(务必确保已经激活了那个环境),运行一条命令查一下:macOS/Linux用python -m pip list | grep ipykernel,Windows用python -m pip list | findstr ipykernel。如果没看到任何输出,马上去执行python -m pip install ipykernel

安装之后,最关键的一步是“注册”。注册命令必须带着--user参数,比如这样:python -m ipykernel install --user --name ds-env --display-name "Python (ds-env)"。需要特别注意的是,--name参数不能有空格或中文,否则会无声无息地失败;而--display-name才是你在VSCode下拉菜单里真正看到的名字。

注册完毕后,内核配置文件会固定存放在~/.local/share/jupyter/kernels/(Linux/macOS)或%USERPROFILE%\AppData\Roaming\jupyter\kernels\(Windows)下。VSCode只认这个目录。如果你漏掉了--user,它就可能把内核写到系统级目录里,VSCode就读不到了。这点容易栽坑。

解释器选对了,但运行没反应,或报找不到模块

别以为快捷键坏了。问题在于,Notebook当前绑定的内核,跟你心里想用的那个环境压根不是一回事。VSCode左上角显示的那个内核名字(比如Python 3.11.5 ('ds-env': conda))才是真正在执行任务的,它跟你当前打开的.py文件或文件夹没关系。

解决思路也很直接:点击一下右上角那个内核名称,从下拉列表里手动选一个。优先选你刚刚注册的那个(就是带了--display-name的那个)。

如果目标环境压根没出现在列表里,那就是注册步骤没成功。进那个环境终端,再跑一遍注册命令。稳一点,还是用python -m pip install ipykernel,别依赖conda install,有些镜像源的conda版ipykernel可能会装成旧版或缺失依赖。

注册完后,你还可以用一个硬核验证方式:在Notebook里运行import sys; print(sys.executable),看看输出的路径是否指向你的虚拟环境。如果不对,说明内核绑定了别的解释器,需要重新核对注册步骤。

内核注册成功,但一直卡在“正在连接内核”

这其实是个比较隐蔽的坑,VSCode正在尝试连接一个远程Jupyter服务器,而不是你本地刚刚注册好的内核。这是个默认行为被误触发的典型情况。

解决方法如下:

  • 打开设置(Ctrl+,),搜索jupyter: enable remote,把Jupyter: Enable Remote这个选项关掉。
  • 同时,打开Jupyter: Local Kernel Specs Only,强制VSCode只读取本地kernels/目录下的内核定义。
  • 检查一下工作区设置(.vscode/settings.json),看看里面有没有"jupyter.jupyterServerType": "remote""jupyter.remoteJupyterServerUri"这类配置。有的话,直接删掉。
  • 最后,禁用所有非官方发布的Jupyter类扩展,只保留ms-toolsai.jupyterms-python.python这两个,别多装,也别漏装。

这里还有一个经常被忽略的底层逻辑:VSCode并不会继承你在终端里执行的conda activate状态,也不会自动去扫描项目下的.venv文件夹。它只认你点击选中的那个解释器路径下的包。哪怕你在命令行里执行jupyter kernelspec list能看到自己的内核,只要kernel.jsonargv[0]指向的python可执行文件路径和VSCode当前选中的解释器不一致,就会造成错位执行。注册完,去验证一下kernel.json里的路径,远比只看名字要靠谱。

VSCode运行Jupyter Notebook_VSCode数据分析环境搭建

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
编程开发
相关文章 更多
C++动态数组初始化怎么写?常用语句与代码示例
C++动态数组初始化怎么写?常用语句与代码示例

深入解析C++中动态数组的初始化机制,涵盖new操作符的不同用法、基本类型与类对象的初始化差异,以及为何在现代C++开发中应优先使用std::vector。

Jupyter Notebook 7.5.7同步JupyterLab 4.5.8
Jupyter Notebook 7.5.7同步JupyterLab 4.5.8

JupyterNotebook7.5.7于2026年6月4日发布,核心变化为同步升级JupyterLab至4.5.8并固定界面测试Node.js版本为22.x。该版本无新增功能,属于常规维护更新,二次开发者需注意扩展兼容性,建议在测试环境验证后再更新。本次更新旨在提升稳定性。

Jupyter Notebook 7.6.0发布:补齐文件浏览器功能
Jupyter Notebook 7.6.0发布:补齐文件浏览器功能

JupyterNotebook7.6.0于2026年6月18日发布,底层升级至JupyterLab4.6.0。主要更新包括补齐文件浏览器功能、关闭内核前增加确认对话框、支持打开共享内核的草稿控制台,并调整了启动树命令位置。不再支持Python3.9,需使用Python3.10以上版本。

Jupyter Notebook 7.6.1升级JupyterLab 4.6.2
Jupyter Notebook 7.6.1升级JupyterLab 4.6.2

JupyterNotebook7.6.1于2026年7月22日发布,属维护版本,主要将依赖的JupyterLab升级至4.6.2,并同步更新GitHubActions配置。未新增功能,重点在于底层组件对齐与发布流程维护。建议已部署7.6.0的环境进行工作流测试,升级前需确认Python3.10及以上版本。

Jupyter Notebook 7.6停止支持Python 3.9
Jupyter Notebook 7.6停止支持Python 3.9

JupyterNotebook7.6正式停止支持Python3.9,最低要求Python3.10及以上。旧环境强行升级存在风险,建议新建Python3.10以上虚拟环境,测试内核运行、计算结果输出及扩展插件兼容性,确保稳定迁移。

using namespace 使用中遇到的问题怎么解决
using namespace 使用中遇到的问题怎么解决

命名空间的基本概念与常见引入问题在C++等编程语言中,命名空间(namespace)是一种将代码标识符(如变量、函数、类名)封装在特定名称下的机制,其主要目的是避免命名冲突,尤其是在大型项目或使用多个第三方库时。使用“using namespace”指令可以将指定命名空间中的所有名称引入当前作用域,

c语言函数递归 实操经验总结:这些技巧很实用
c语言函数递归 实操经验总结:这些技巧很实用

理解递归的基本原理在C语言中,递归是一种函数调用自身的编程技术。要掌握它,首先需要理解其核心思想:将一个复杂的大问题,分解为一个或几个与原问题相似但规模更小的子问题,直到子问题足够简单,可以直接求解。这个过程通常包含两个关键部分:递归出口和递归体。递归出口定义了问题何时不再继续分解,即最简单、可直接

c语言函数递归 怎么选?常见方案对比分析
c语言函数递归 怎么选?常见方案对比分析

递归函数的基本概念与适用场景在C语言编程中,递归是一种函数调用自身的编程技巧。它并非适用于所有问题,但在处理某些具有自相似结构的问题时,能提供极其清晰和优雅的解决方案。递归的核心思想是将一个大规模问题分解为一个或多个同类型但规模更小的子问题,直到子问题简单到可以直接求解。典型的适用场景包括树形结构的

Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解
Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解

理解内存管理的基石在Objective-C的编程世界中,内存管理是开发者必须掌握的核心技能之一。它直接关系到应用的性能、稳定性与资源利用效率。与一些采用自动垃圾回收机制的语言不同,Objective-C在很长一段时间里,依赖一套基于引用计数的、需要开发者部分介入的管理规则。这套规则的核心思想是明确的

如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏
如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏

理解 dealloc 的角色与时机在 iOS 应用开发中,内存管理是保障应用性能与稳定性的基石。dealloc 方法是 Objective-C 中对象生命周期结束时的关键回调,它标志着对象即将被系统回收内存。正确理解其触发时机至关重要:当一个对象的引用计数降为零时,运行时系统会自动调用该对象的 de

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师
macOS

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

WINDOWS 更多
Windows 10
Windows 10
Windows

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘
Windows/macOS/iOS/Android

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。