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

pydub调用AudioSegment报ffprobe PermissionError[Errno13]问题求助

问题根因
  • 你通过pip安装的ffmpeg、ffprobe是第三方Python封装包,并非pydub依赖的原生FFmpeg命令行可执行程序,pydub无法正常调用这类封装包,才会先后触发导入错误、ffprobe权限拒绝错误。
  • 你之前配置的路径大概率指向pip安装的第三方包目录/上层文件夹,而非ffmpeg、ffprobe二进制可执行文件的具体路径,因此后续的权限修改操作完全没有作用到pydub实际要调用的程序上,那个找不到ffprobe的运行时警告也正是路径配置无效导致的。
解决步骤
  • 先卸载冲突的pip版封装包,避免和原生FFmpeg程序产生命名冲突:
    pip uninstall -y ffmpeg ffprobe
    
  • 安装原生FFmpeg套件,你使用的是Anaconda环境,直接通过conda安装可以自动配置权限、避免路径问题:
    conda install -c conda-forge ffmpeg
    
    安装完成后在终端执行以下命令验证安装结果,正常输出版本信息即说明安装正确:
    ffmpeg -version
    ffprobe -version
    
  • 获取可执行文件的准确路径,在终端执行以下命令:
    which ffmpeg
    which ffprobe
    
    注意:以上命令输出的是二进制可执行文件的完整绝对路径,不是上层文件夹路径,常见输出为/opt/anaconda3/bin/ffmpeg、/opt/anaconda3/bin/ffprobe,之前填写文件夹路径的操作是无效的。
  • 在代码中替换为正确的路径配置,示例如下:
    from pydub import AudioSegment
    
    # 将路径替换为上一步which命令输出的实际路径
    AudioSegment.converter = "/opt/anaconda3/bin/ffmpeg"
    AudioSegment.ffmpeg = "/opt/anaconda3/bin/ffmpeg"
    AudioSegment.ffprobe = "/opt/anaconda3/bin/ffprobe"
    
    # 正常执行音频读取即可
    audio = AudioSegment.from_file("your_audio.mp3")
    
异常排查
  • 如果完成以上操作后仍有权限报错,直接在终端给对应二进制文件授予执行权限即可,无需在Python代码内调用chmod修改权限:
    chmod 755 /opt/anaconda3/bin/ffmpeg
    chmod 755 /opt/anaconda3/bin/ffprobe
    
  • 待路径配置正确后,之前提示的找不到ffprobe的运行时警告会自动消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 05:54:25