在Python pip虚拟环境中安装FFmpeg以解决torchaudio的DLL依赖问题
在Python pip虚拟环境中安装FFmpeg以解决torchaudio的DLL依赖问题
看起来你遇到的是Windows下pip虚拟环境中torchaudio找不到FFmpeg相关DLL(比如avutil)的典型问题——Anaconda的torchaudio包会自动附带FFmpeg依赖,但pip安装的版本不会,所以需要我们手动配置FFmpeg环境。下面是几种靠谱的解决方法,按推荐程度排序:
方法1:安装官方FFmpeg并配置环境变量(最规范,推荐)
这是长期维护最方便的方式:
- 下载对应Windows系统的完整FFmpeg构建包(选择包含所有组件的full build版本)
- 解压到一个固定路径,比如
C:\Program Files\FFmpeg - 找到解压目录里的
bin子文件夹(比如C:\Program Files\FFmpeg\bin),把这个路径添加到系统环境变量PATH中:- 右键「此电脑」→属性→高级系统设置→环境变量
- 在系统变量里找到
Path,点击编辑 - 点击「新建」,粘贴刚才的bin路径,确定保存
- 重启你的终端、IDE或者整个电脑,让环境变量生效
- 验证配置:打开新的终端,输入
ffmpeg -version,如果能正常输出FFmpeg的版本信息,说明配置成功了。这时候再运行你的Python代码,torchaudio应该能自动找到需要的DLL文件。
方法2:手动复制FFmpeg DLL到虚拟环境(应急方案)
如果不想修改系统环境变量,可以临时用这个方法:
- 按照方法1的步骤下载并解压FFmpeg,进入
bin目录 - 把里面的核心DLL文件(比如
avutil-*.dll、avformat-*.dll、avcodec-*.dll、swresample-*.dll、swscale-*.dll这些)复制到你的虚拟环境的Lib\site-packages\torchaudio文件夹下 - 重启你的Python程序,应该就能解决DLL找不到的问题
验证是否生效
配置完成后,可以在Python虚拟环境里运行以下代码确认:
import torchaudio print(torchaudio.utils.ffmpeg_utils.get_versions())
如果能输出类似{'ffmpeg': '6.0', ...}的版本信息,说明torchaudio已经成功关联到FFmpeg了。
为什么会出现这个错误?
你看到的avutil等DLL是FFmpeg多媒体处理库的核心组件,torchaudio的流媒体解码功能依赖这些库。Anaconda的torchaudio预打包了这些依赖,但pip版的torchaudio默认假设系统已经安装了FFmpeg,所以需要我们手动补上这个环境。
备注:内容来源于stack exchange,提问作者Furkan Gözükara
相关产品推荐
相关产品推荐

