跳转到主内容
极星编程网:以代码为星,赴技术山海!

VSCode如何搭建Jupyter Notebook数据分析环境

VSCode中Jupyter Notebook跑不起来,90%以上因内核未注册或未连上:需先选对Python解释器,再在该环境安装ipykernel并执行python -m ipykernel install --user --name myproject --display-name "Python (myproject)",最后重启VS Code窗口。 VSCode 跑不起来 Jupyter Notebook,几乎从来不是因为没装插件,而是内核(kernel)根本没注册进当前 Python 环境,或者 VS Code 没连上它——选错解释器、漏装
ipykernel
、注册命令缺
--user
、路径含空格,四者占失败原因的 90% 以上。 Python 解释器选错,Notebook 就压根启动不了 VS Code 不会跨环境找
jupyter
或
ipykernel
,它只认你当前选中的解释器里装了什么。哪怕你在系统全局
pip install jupyter
了,只要解释器选的是
./venv/bin/python
,而这个 venv 里没装
ipykernel
,右上角就只会显示 “Python 3 (unavailable)” 或干脆空白。 按
Ctrl+Shift+P
(Win/Linux)或
Cmd+Shift+P
(Mac),输入并执行
Python: Select Interpreter
从列表中挑出目标环境路径,比如
./venv/bin/python
(Linux/macOS)或
.\.venv\Scripts\python.exe
(Windows) 如果列表里没看到你的环境,说明它没被 VS Code 扫描到——别猜,直接在终端激活该环境后运行
python -m pip list | grep ipykernel
(macOS/Linux)或
python -m pip list | findstr ipykernel
(Windows)确认是否已装 ipykernel 没装或注册失败,内核就“不可用” 只装
jupyter
不够,
ipykernel
才是让 Python 环境变成可通信内核的关键。注册命令必须在目标环境中执行,且
--user
参数不能省,否则 kernel 可能写入系统级目录,VS Code 无权读取。 在已激活的目标环境终端中运行:
python -m pip install ipykernel
(别用
conda install ipykernel
混着来,尤其在 pip 环境里) 再运行:
python -m ipykernel install --user --name myproject --display-name "Python (myproject)"
(
--name
不能含空格或中文,
--display-name
才是下拉菜单里看到的名字) 验证是否注册成功:
jupyter kernelspec list
输出里应有类似
myproject /home/xxx/.local/share/jupyter/kernels/myproject
的条目 注册完必须重启 VS Code 窗口(不是“重载窗口”),否则新内核不会出现在下拉列表中 右上角内核选择器里找不到名字,或点了没反应 这通常不是 VS Code 没扫描到,而是它只读取固定路径下的 kernel 定义:
~/.local/share/jupyter/kernels/
(Linux/macOS)或
%USERPROFILE%\AppData\Roaming\jupyter\kernels\
(Windows)。如果注册时漏了
--user
,或
--name
含空格,VS Code 就解析失败。 VSCode 1.118 微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。 下载 检查工作区设置:
settings.json
里有没有误配
"jupyter.jupyterServerType": "remote"
或填了
remoteJupyterServerUri
——这会让 VS Code 强制走远程模式,本地 kernel 直接被忽略 关闭
Jupyter: Enable Remote
,启用
Jupyter: Local Kernel Specs Only
(在设置里搜这两项) 如果之前注册过同名 kernel,先删掉:
jupyter kernelspec remove myproject
,再重新安装 确保
ms-toolsai.jupyter
和
ms-python.python
两个扩展都已启用——缺一个,Notebook 就无法绑定内核 Shift+Enter 没反应,或报
ModuleNotFoundError
这不是快捷键坏了,而是当前单元格实际运行的 Python 解释器和你预期的不一致。VS Code 左上角显示的内核名(如
Python 3.11.5 ('myproject': venv)
)才是真实执行环境。 运行
import sys; print(sys.executable)
,确认输出路径是否指向你选中的解释器(比如
./venv/bin/python
) 如果不一致,说明 kernel 绑定错位:可能你在 base 环境注册了内核,却想在子环境里用;或者
kernel.json
里的
argv[0]
指向了错误的 python 可执行文件 手动检查
~/.local/share/jupyter/kernels/myproject/kernel.json
(Linux/macOS)或对应 Windows 路径下的文件,确认
argv
第一项是正确路径 避免全局安装
ipykernel
:始终在目标环境中运行注册命令,而不是在 base 环境里装完再切到子环境 真正卡住人的,往往不是“怎么打开 notebook”,而是 kernel 启动时
sys.executable
和你选中的解释器路径对不上——这个细节极容易被忽略,但它是绝大多数
ModuleNotFoundError
和“点了没反应”的根源。

相关文章