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

Mac系统使用pydub处理音频时报ffprobe找不到错误如何解决?

报错原因

pydub调用ffmpeg、ffprobe依赖系统PATH环境变量能找到对应可执行文件,触发该报错的常见原因有2个:

  • 你通过pip安装的ffmpeg是Python封装包,未提供全局可调用的ffmpeg、ffprobe二进制文件,和homebrew安装的二进制产生冲突
  • homebrew的安装路径未被纳入Python运行时的PATH环境变量,Mac不同架构设备的homebrew默认路径不同:Apple Silicon系列为/opt/homebrew/bin,Intel系列为/usr/local/bin,IDE默认的环境变量未读取该路径就会找不到对应程序
解决方案

按以下步骤排查修复即可:

  1. 先清理冲突的pip包,终端执行命令:
    pip uninstall -y ffmpeg
  2. 确认homebrew安装的ffmpeg、ffprobe有效路径,终端分别执行命令:
    which ffmpeg
    which ffprobe
    执行后会输出对应文件的完整路径,例如/opt/homebrew/bin/ffmpeg、/opt/homebrew/bin/ffprobe
  3. 方案一(最快生效,无需改系统配置):在你的代码导入pydub之前,手动指定两个文件的路径,修改后的代码如下:
import speech_recognition
import pydub
# 替换为你自己通过which命令拿到的对应路径
pydub.AudioSegment.converter = "/opt/homebrew/bin/ffmpeg"
pydub.AudioSegment.ffprobe = "/opt/homebrew/bin/ffprobe"
from pydub import AudioSegment
from os import path


#get text from original voice file------------------------------------------------- 

sound = AudioSegment.from_mp3("/path/to/file.mp3")
sound.export("/output/path/file.wav", format="wav")

file_audio = speech_recognition.AudioFile('/output/path/file.wav')

r = speech_recognition.Recognizer()
with file_audio as source:
    audio_text = r.record(source)

word = r.recognize_google(audio_text)
  1. 方案二(全局生效):将homebrew的二进制路径加入系统环境变量
    如果你使用默认zsh终端,编辑~/.zshrc文件,加入对应配置:
  • Apple Silicon设备加:export PATH="/opt/homebrew/bin:$PATH"
  • Intel设备加:export PATH="/usr/local/bin:$PATH"
    保存后终端执行source ~/.zshrc,重启你的IDE后配置生效,即可正常运行代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 12:36:01