必须创建独立虚拟环境安装pytorch并注册为jupyter内核,因base环境预装包版本敏感,直接安装易引发依赖冲突导致jupyter崩溃、kernel死亡或模块导入失败。

jupyter notebook 本身不安装 PyTorch,它只是个交互式前端;PyTorch 必须装在某个 Python 环境里,再把这个环境“注册”成 jupyter 可识别的内核。直接在 base 环境里 pip install torch 虽然能跑,但极易引发依赖冲突——尤其是当你后续要切 CUDA 版本、换 Python 小版本、或并行开发多个模型时。
为什么不能直接在 base 环境装 PyTorch?
base 环境是 Anaconda 的“系统层”,里面预装了大量科学计算包(如 numpy、matplotlib、scipy)。PyTorch 的 CUDA 版本、torchvision、torchaudio 对底层库版本极其敏感。一旦 base 环境里已有旧版 numpy 或 protobuf,pip install torch 可能降级/覆盖它们,导致 jupyter 自身崩溃、matplotlib 图形渲染失败、甚至 conda list 报错。
- 常见现象:
jupyter notebook启动后白屏、Kernel dead、ImportError: DLL load failed - 根本原因:PyTorch 安装过程强制重装某些 C 扩展依赖,破坏了 base 环境稳定性
- 正确做法:用
conda create -n myenv python=3.9创建干净环境,所有操作只在该环境下进行
如何创建并注册 PyTorch 环境到 Jupyter
关键顺序不能错:先激活环境 → 再装 ipykernel → 然后注册内核 → 最后装 PyTorch。顺序颠倒会导致 jupyter 能看到内核但 import torch 报 ModuleNotFoundError。
- 打开
anaconda prompt(不是普通 cmd) -
conda create -n pytorch_env python=3.9(推荐 3.9,兼容性好,PyTorch 官方长期支持) conda activate pytorch_env-
conda install ipykernel(必须用 conda 装,避免 pip 和 conda 混装冲突) python -m ipykernel install --user --name pytorch_env --display-name "PyTorch (3.9)"- 启动
jupyter notebook→ Kernel → Change kernel → 选PyTorch (3.9)
PyTorch 安装命令怎么选?
别复制官网“Stable”默认命令——它默认给 CUDA 12.x,但你的显卡驱动可能不支持。先查真实可用的 CUDA 版本:
- 命令行运行
nvidia-smi,看右上角显示的 “CUDA Version: 12.4”(这是驱动支持的最高版本,不是已安装的 CUDA Toolkit 版本) - 去 PyTorch 官网,选 “CUDA Version” 下拉框里 ≤ 你驱动支持的版本(比如驱动支持 12.4,就选 12.1 或 12.2,留余量)
- 复制生成的命令,确保含
-c pytorch(指定官方源),例如:conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia - 装完后立刻验证:
python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
注册后 kernel 不显示?检查这三处
注册命令执行成功,但 jupyter notebook 里没看到新内核,通常卡在这几个地方:
-
jupyter kernelspec list—— 查看内核是否真注册到了用户目录(Windows 通常是C:\Users\XXX\AppData\Roaming\jupyter\kernels\),如果目录下没有pytorch_env文件夹,说明注册失败 - 是否漏了
--user参数?没加这个参数会注册到系统级路径,而普通用户无权限写入 - 是否在错误环境中执行了注册命令?比如 base 环境下运行
python -m ipykernel install,注册的是 base 的内核,不是你刚建的pytorch_env
最稳妥的补救方式:先删掉残留项 jupyter kernelspec remove pytorch_env,再回到 pytorch_env 环境里重跑注册命令。











