快速结论:该报错通常出现在 Windows 上以 CUDA 方式运行 Faster Whisper(或依赖 cuDNN 9 的下游项目)时,DLL 加载器找不到 cudnn_ops64_9.dll。优先排查 NVIDIA cuDNN 的安装目录层级,以及运行进程能否在 library path 中定位到该 DLL。
适用环境:Issue 中用户确认的环境为 Windows 本地运行、RTX 3080、CUDA 12.8、cuDNN 9.70、Python 3.12.8、torch 2.5.0;后续讨论还涉及 cuDNN v9.8、v9.10 及 CUDA 12.9 目录。Faster Whisper 具体版本未在 Issue 中说明。
最快修复方案:Issue 中确认有效的做法是:先用 NVIDIA cuDNN 官方安装包在 Windows 上安装 cuDNN,再把 CUDA 版本对应的子目录加入 Python 进程可见的库搜索路径。多位参与者反馈,在安装 cuDNN 后,通过 Python 代码把类似 C:\Program Files\NVIDIA\CUDNN\v9.10\bin\12.9 的目录加入 PATH,问题即可解决。
注意事项:该方案是 Issue 中用户验证过的 workaround,并非 Faster Whisper 的官方修复;不同 cuDNN 版本、CUDA 版本对应的子目录名不同,需要按本机实际安装路径替换。仅把 ...\CUDNN\v9.x\bin 加入 PATH 可能不够,因为 PATH 查找不递归,DLL 实际位于 bin\12.x 这类 CUDA 版本子目录下。修改环境变量或 Python 代码后需重启相关进程或 shell。
问题场景
用户在 Windows 本地环境使用 Faster Whisper 时触发该错误。Issue 正文给出的环境为 RTX 3080、CUDA 12.8、cuDNN 9.70、Python 3.12.8、torch 2.5.0。用户提到已阅读 #1080 并尝试调整设置但未解决;后续评论显示,类似问题也会在 Windows 上配置 speaches 等依赖 CUDA/cuDNN 的项目时出现。
报错原文
Could not locate cudnn_ops64_9.dll. Please make sure it is in your library path!
原因分析
最可能的原因是 Windows 上 NVIDIA cuDNN 的 DLL 没有被运行进程找到。Issue 中的分析指出:使用 NVIDIA Windows cuDNN 安装程序时,PATH 中通常只加入顶层目录,例如 C:\Program Files\NVIDIA\CUDNN\v9.7\bin,但实际库文件位于 CUDA 版本专属子目录中,例如 C:\Program Files\NVIDIA\CUDNN\v9.7\bin\12.8\cudnn_ops64_9.dll。由于 PATH 查找不递归,任何期望在顶层目录找到 DLL 的软件都会失败。
另一条可能原因来自 Python 行为:有评论提到 Python 自 3.8 起会忽略 Windows PATH,因此仅设置系统环境变量可能不足以让 Python 进程找到 DLL;需要显式使用 os.add_dll_directory(),或通过修改 os.environ["PATH"] 让 DLL 加载器可见。评论者推测 Faster Whisper 或其下游依赖可能缺少自动探测 CUDA/cuDNN 路径的逻辑,但这一点在 Issue 中并未被项目方确认。
环境排查
- 确认 Windows 上是否已通过 NVIDIA 官方安装包安装 cuDNN,而不只是解压文件或仅安装 CUDA Toolkit。
- 确认 cuDNN 安装目录下是否存在 CUDA 版本子目录,例如
C:\Program Files\NVIDIA\CUDNN\v9.7\bin\12.8,以及该目录中是否有cudnn_ops64_9.dll。 - 确认 Python 版本;Issue 中为 Python 3.12.8。评论提到 Python 自 3.8 起忽略 Windows PATH,需检查代码中是否显式添加 DLL 目录。
- 确认 CUDA 版本与 cuDNN 子目录的对应关系;Issue 中出现过 CUDA 12.8、12.9 以及 cuDNN v9.7、v9.8、v9.10 等组合,需要按本机实际安装匹配。
- 确认 torch 版本;Issue 中为 torch 2.5.0,但未验证该版本本身是否与所用 CUDA/cuDNN 组合完全兼容。
- 如果运行的是 speaches 等下游项目,同样需要检查其进程能否访问 cuDNN 的 CUDA 版本子目录。
解决步骤
- 从 NVIDIA 官方页面下载并安装适用于 Windows 的 cuDNN:https://developer.nvidia.com/cudnn-downloads。Issue 中有用户确认,先下载 exe 并安装,再配合后续 Python 代码后问题解决。
- 找到实际包含
cudnn_ops64_9.dll的目录。按照 Issue 中的路径规律,它通常位于类似C:\Program Files\NVIDIA\CUDNN\v9.7\bin\12.8的 CUDA 版本子目录下,而不是...\v9.7\bin顶层目录。 - 在启动 Faster Whisper 的 Python 主文件或入口代码中,把该子目录加入 DLL 搜索路径。Issue 中验证过的写法包括:
import os os.add_dll_directory("c:\\Program Files\\NVIDIA\\CUDNN\\v9.7\\bin\\12.8")或:
import os cuda_version = "12.9" cuda_bin_path = fr"C:\Program Files\NVIDIA\CUDNN\v9.10\bin\{cuda_version}" # Add to PATH (so DLL loader can find it) os.environ["PATH"] = cuda_bin_path + os.pathsep + os.environ["PATH"]需要把路径替换为本机实际安装的 cuDNN 版本和 CUDA 子目录。
- 重启 Python 进程、终端或相关服务,使新的库搜索路径生效。评论提到修改 PATH 后需要重启 shell。
- 如果仍报错,按 Issue 中的思路检查:是否只把
...\CUDNN\v9.x\bin加入了 PATH,而漏掉了bin\12.x子目录;或者 Python 进程是否真的执行了上述路径添加代码。
验证方法
重新运行原本触发报错的 Faster Whisper 或下游项目入口。如果不再出现 Could not locate cudnn_ops64_9.dll. Please make sure it is in your library path!,说明 DLL 已被成功定位。Issue 中用户反馈,在安装 cuDNN 并添加 Python 代码后“it worked perfectly”“it works”。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


