快速结论:这个 TypeError: expected str, bytes or os.PathLike object, not NoneType 通常出现在 Linux 上手动设置 LD_LIBRARY_PATH、尝试加载 nvidia-cublas-cu12 / nvidia-cudnn-cu12 动态库路径时,根因是这两个包的子模块不再稳定暴露 __file__。优先改用基于 __path__ 的路径推导命令,而不是继续排查 Faster Whisper 本身。
适用环境:Issue 已确认:Linux Mint、独立 conda 环境、通过 pip 安装 nvidia-cublas-cu12 和 nvidia-cudnn-cu12==9.*。Issue 未提供 Python、CUDA、PyTorch、显卡型号等具体版本,本文不补充。
最快修复方案:用下面这条已验证命令替换原来的 export LD_LIBRARY_PATH=...:
export LD_LIBRARY_PATH=$(python3 -c 'import os, nvidia.cublas, nvidia.cudnn; print(os.path.dirname(nvidia.cublas.__path__[0]) + "/cublas/lib:" + os.path.dirname(nvidia.cudnn.__path__[0]) + "/cudnn/lib")')
注意事项:该命令只解决环境变量拼接阶段的 NoneType 报错,不等同于解决所有 CUDA 安装问题;Issue 中维护者也明确表示,这类 CUDA 依赖问题无法在仓库侧完全修复而不影响其他包。若仍失败,可优先尝试用 Docker 容器运行 CUDA 环境,Issue 中报告者用这种方式成功跑通。
问题场景
用户在 Linux Mint 的独立 conda 环境中安装 Faster Whisper。安装 nvidia-cublas-cu12、nvidia-cudnn-cu12==9.* 之后,为了在运行时找到 cuBLAS / cuDNN 动态库,执行了一条通过 Python 导入 nvidia.cublas.lib 与 nvidia.cudnn.lib 来拼接 LD_LIBRARY_PATH 的命令,结果在 Python 表达式阶段就报错,安装流程中断。用户还提到整体安装过程非常脆弱:先装 transformers 而不显式安装 cuBLAS / cuDNN 曾成功过一次,但同一台机器一周后无法复现。
报错原文
Traceback (most recent call last):
File "", line 1, in
File "", line 152, in dirname
TypeError: expected str, bytes or os.PathLike object, not NoneType
原因分析
最可能的原因是 nvidia-cublas-cu12 和 nvidia-cudnn-cu12 新版本的包结构发生了变化:其子模块变成命名空间形式,或者不再显式声明 __file__ 属性,导致 nvidia.cublas.lib.__file__、nvidia.cudnn.lib.__file__ 返回 None。随后代码把这个 None 传给 os.path.dirname(),于是抛出 TypeError。
需要区分的是:这个报错发生在设置环境变量的辅助命令里,不是 Faster Whisper 推理阶段直接抛出的异常。Faster Whisper 仓库本身对该问题的可操作空间有限,Issue 中维护者说明,如果强行在仓库里处理,可能会破坏大多数其他包的兼容性。
环境排查
- 确认是否在 Linux 独立 conda 环境中运行,并确认当前环境已激活。
- 确认已安装
nvidia-cublas-cu12和nvidia-cudnn-cu12==9.*,或确认是否曾尝试先装transformers的路径。 - 确认原命令中导入的是
nvidia.cublas.lib、nvidia.cudnn.lib,还是改用nvidia.cublas、nvidia.cudnn的__path__方式。 - Issue 未提供 Python、CUDA、PyTorch、显卡驱动具体版本,暂不列为必查项,但排查时建议记录以便复现。
- 如果本机重复失败,评估是否能改用 Docker 容器运行,Issue 中报告者在容器中成功处理了 CUDA。
解决步骤
- 不要继续使用原来的
nvidia.cublas.lib.__file__路径推导命令,因为该属性在新版包中可能返回None。 - 改用 Issue 中已验证的更新命令,通过
nvidia.cublas.__path__[0]和nvidia.cudnn.__path__[0]推算出库目录,并拼成LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=$(python3 -c 'import os, nvidia.cublas, nvidia.cudnn; print(os.path.dirname(nvidia.cublas.__path__[0]) + "/cublas/lib:" + os.path.dirname(nvidia.cudnn.__path__[0]) + "/cudnn/lib")') - 如果只是想临时验证 Faster Whisper 能否运行,也可以可优先尝试 Issue 中提到的绕法:先安装
transformers,不显式安装 cuBLAS / cuDNN。注意该做法在报告者本机上未能稳定复现,只适合作为尝试项。 - 若上述路径方式仍无法得到可用的 CUDA 环境,可优先尝试在 Docker 容器中运行 Faster Whisper,Issue 中报告者通过该方式成功处理了 CUDA 环境。
- 关注上游修复:报告者已向 Faster Whisper 提交 PR #1459,后续版本可能包含相关调整。
验证方法
执行新的 export LD_LIBRARY_PATH=... 命令时,不再出现 TypeError: expected str, bytes or os.PathLike object, not NoneType,并且能打印出包含 cublas/lib 与 cudnn/lib 的路径。随后在该环境下运行 Faster Whisper 推理,确认能够正常加载模型并完成转写,而不是再回落到 CPU 或直接报动态库缺失。若使用 Docker 方案,则以容器内成功运行 Faster Whisper 为准。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Bug]: Responses API streaming regenerates output item id/call_id in response.completed (breaks strict clients)](https://www.chat-gpts.plus/wp-content/uploads/2026/10/59834-4a72fa90-768x403.jpg)
