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

Heroku部署Python Discord音乐机器人出现FFmpeg Errno 13权限错误

问题根因
  • 你上传到仓库的ffmpeg.exe是Windows平台的可执行文件,Heroku使用Linux操作系统,无法运行该格式的程序
  • 手动上传的二进制文件默认没有执行权限,所以触发PermissionError报错
  • 之前使用FFmpeg buildpack报错的原因是你代码里硬编码了Windows下的FFmpeg路径,buildpack安装的FFmpeg是全局可调用的,不需要指定exe路径
解决方案步骤

步骤1:清理仓库内的FFmpeg文件

把你上传的整个FFmpeg/目录从GitHub仓库删除,不要手动托管FFmpeg二进制文件。

步骤2:重新配置Heroku buildpack

添加FFmpeg buildpack到你的Heroku应用,操作路径:你的Heroku应用后台 → Settings → Buildpacks → Add buildpack,填入对应buildpack地址即可。

步骤3:修改代码中的FFmpeg调用逻辑

原来的硬编码Windows路径的代码:

voice_channel.play(discord.FFmpegPCMAudio(executable="FFmpeg/bin/ffmpeg.exe", source=filename))

修改为直接调用全局FFmpeg,不需要指定executable参数:

voice_channel.play(discord.FFmpegPCMAudio(source=filename))

如果确实需要指定executable参数,填"ffmpeg"即可:

voice_channel.play(discord.FFmpegPCMAudio(executable="ffmpeg", source=filename))

步骤4:重新部署应用

提交代码修改后推送到GitHub,触发Heroku自动部署即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:48:02