You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无Anaconda环境下Jupyter Notebook中CuPy导入报错:DLL加载失败(.py文件可正常运行)

解决Windows10非Anaconda环境下Jupyter Notebook加载CuPy的nvrtc DLL错误

我之前在非Anaconda的Windows环境里也碰到过一模一样的问题——普通终端用CuPy完全没问题,一到Jupyter就报ImportError: DLL load failed while importing nvrtc,折腾了好一阵,总结了几个不需要依赖Anaconda的有效方案:

方案1:在Notebook开头手动强制添加CUDA路径

Jupyter的环境变量继承经常会出问题,哪怕系统PATH里已经加了CUDA的bin目录,它可能还是没加载到或者加载顺序不对。你可以在Notebook的第一个代码单元格里先执行这段代码:

import os
# 替换成你的CUDA版本路径
cuda_bin_path = r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin"
# 把CUDA的bin目录放到PATH最前面,确保优先加载正确的DLL
os.environ['PATH'] = f"{cuda_bin_path};{os.environ['PATH']}"

# 现在再导入CuPy
import cupy

这样每次打开Notebook都先手动修正PATH,就能绕开Jupyter的环境变量问题。

方案2:修改Jupyter配置文件,永久设置环境变量

如果不想每次都手动加路径,可以修改Jupyter的启动配置,让它每次启动都自动加载正确的PATH:

  1. 打开命令行终端,执行jupyter notebook --generate-config生成配置文件,终端会告诉你配置文件的保存路径(一般是C:\Users\<你的用户名>\.jupyter\jupyter_notebook_config.py)
  2. 用文本编辑器打开这个配置文件,找到c.NotebookApp.env这一行(可能被注释掉了,前面有#),取消注释后改成:
import os
cuda_bin_path = r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin"
c.NotebookApp.env = {'PATH': f"{cuda_bin_path};{os.environ['PATH']}"}
  1. 保存配置文件,重启Jupyter Notebook,之后每次启动都会自动把CUDA的bin目录放到PATH最前面,从根源解决环境变量问题。

方案3:排查并解决DLL冲突

有时候系统里可能存在其他版本的nvrtc.dll(比如某些NVIDIA软件、游戏或者其他Python库自带的旧版本),Jupyter启动时优先加载了错误的版本。你可以用微软的Process Explorer工具来排查:

  1. 下载并打开Process Explorer,启动Jupyter Notebook后,在工具里搜索nvrtc.dll
  2. 查看这个DLL的加载路径,如果不是来自你的v11.6\bin目录,找到那个冲突的DLL所在的文件夹
  3. 把这个冲突文件夹从系统的PATH环境变量里移除,或者调整顺序让CUDA的bin目录排在它前面

方案4:重新安装对应CUDA版本的CuPy

确保CuPy的版本和你的CUDA版本完全匹配,有时候pip默认安装的CuPy可能适配的是其他CUDA版本,导致DLL不兼容。执行下面的命令重新安装:

pip install cupy-cuda116 --force-reinstall

这里的cupy-cuda116对应你的CUDA 11.6版本,如果你的CUDA是其他版本,换成对应的后缀(比如cupy-cuda117对应11.7)。

之前你用pip install -U notebook临时有效,应该是更新后Jupyter的环境变量加载逻辑临时被重置了,但重启后又回到了原来的状态,上面的方案都是从环境变量或版本匹配的根源解决问题,适合教学演示的长期使用。

内容的提问来源于stack exchange,提问作者ImARandom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 01:02:45