根本原因是jupyter内核未正确指向pytorch环境,需先激活环境,再执行python -m ipykernel install --user --name pt-env --display-name "python (pt-env)"注册内核,重启jupyter后在kernel菜单中选择该内核即可生效。

PyTorch没在Jupyter里生效,根本原因是kernel没对上
你在终端里 import torch 成功,但在 Jupyter 里报 ModuleNotFoundError: No module named 'torch'——这不是 PyTorch 没装,而是当前 Notebook 运行的 kernel 不是你装了 PyTorch 的那个环境。
关键动作只有一步:把目标环境注册成 Jupyter 可识别的 kernel。常见错误是只在 conda 环境里装了 PyTorch,却忘了执行 python -m ipykernel install。
- 先激活你的 PyTorch 环境(比如叫
pt-env):conda activate pt-env - 确认 PyTorch 已安装:
python -c "import torch; print(torch.__version__)" - 安装并注册 kernel:
python -m ipykernel install --user --name pt-env --display-name "Python (pt-env)" - 重启 Jupyter Notebook(不是刷新页面,是关掉再
jupyter notebook重开) - 新建或打开 notebook → Kernel → Change kernel → 选
Python (pt-env)
conda install pytorch 和 pip install torch 到底用哪个?
优先用 conda install pytorch torchvision torchaudio -c pytorch,尤其当你用的是 Anaconda/Miniconda。它自动处理 CUDA 工具链、cudatoolkit 版本和依赖兼容性;而 pip install torch 容易因系统已有 CUDA 驱动版本不匹配,导致 torch.cuda.is_available() 返回 False 却不报错。
但注意:如果你已用 pip 装过 torch,再用 conda install 会触发冲突警告。此时应先 pip uninstall torch torchvision torchaudio,再用 conda 装。
- 查本地 CUDA 版本:
nvidia-smi(看右上角“CUDA Version”) - 去 pytorch.org 选对应版本,复制 conda 命令(不是 pip)
- 务必在目标 conda 环境中运行该命令,别在 base 或其他环境里误装
为什么 torch.cuda.is_available() 总是 False?
90% 的情况不是驱动或显卡问题,而是 PyTorch 的 CUDA 版本和系统驱动不匹配,或者装错了包。比如你显卡支持 CUDA 12.1,但装了 pytorch-cuda=11.8 的包,就会静默降级为 CPU 模式。
验证步骤要分层做:
- 终端里运行:
nvidia-smi→ 看顶部显示的 CUDA Version(这是驱动支持的最高版本) - 再运行:
python -c "import torch; print(torch.version.cuda)"→ 这是 PyTorch 编译时链接的 CUDA 版本 - 两者必须满足:
torch.version.cuda ≤ nvidia-smi 显示的版本,否则 GPU 不可用 - 如果仍为 False,临时加环境变量排查:
CUDA_LAUNCH_BLOCKING=1 python -c "import torch; print(torch.cuda.device_count())"
Jupyter 启动后看不到新环境?检查 ipykernel 是否真装进去了
执行完 python -m ipykernel install 后,Jupyter 还是没列出新 kernel,常见原因是:命令没在目标环境中运行,或者用了 --user 但当前用户权限受限(尤其 Windows 下某些公司电脑策略限制)。
直接查 kernel 列表是否注册成功:
- 运行:
jupyter kernelspec list→ 应该看到类似pt-env /home/xxx/.local/share/jupyter/kernels/pt-env - 如果没出现,说明注册失败;如果路径存在但 Jupyter 不识别,试试去掉
--user,改用:python -m ipykernel install --name pt-env(需有写入$PREFIX/share/jupyter/kernels/权限) - Windows 用户特别注意:不要用 PowerShell 运行安装命令,改用 Anaconda Prompt(它自带 conda 初始化),否则环境变量不生效
conda env list 和 jupyter kernelspec list 对着看两遍,比反复重装快得多。











