Pydub (WindowsError: [错误 2] 系统找不到指定的文件)
我在Windows和Linux上使用Pydub模块时遇到了一个问题。当我尝试这样打开一个mp3文件:
from pydub import AudioSegment
sound = AudioSegment.from_mp3("test.mp3")
控制台给我显示了下面的信息:
WindowsError: [Error 2] 系统找不到指定的文件
但是...我在和脚本同一个文件夹里有这个文件(test.mp3),名字也没错。
为什么会出现这个问题呢?(在Linux上也有同样的错误)
9 个回答
3
这个解决办法其实很简单,你只需要把 ffmpeg.exe、ffprobe.exe 和 ffplay.exe 这三个文件放到你的脚本目录里。你可以从 FFMPEG 的下载页面下载这些 exe 文件,然后从 bin 文件夹里找到它们。
18
另一种方法是把 ffmpeg.exe 和 ffplay.exe 放在当前的工作目录里。
20
在Jupyter Notebook中,这个错误可能会一直存在,因为问题出在Anaconda环境里。你可以通过从conda-forge
安装ffmpeg
来解决这个问题。
打开Anaconda提示符,然后输入:
conda install -c conda-forge ffmpeg
18
确保你已经安装了 ffmpeg
,可以去这个网站下载:http://www.ffmpeg.org/。如果需要帮助,可以参考这个官方页面。
还有一种可能是 ffmpeg
已经安装了,并且在你的系统路径中,但在使用 pydub
的程序路径中却找不到它。
如果是这个原因导致出错,你可以直接设置 ffmpeg
的绝对路径,像下面这样:
import pydub
pydub.AudioSegment.ffmpeg = "/absolute/path/to/ffmpeg"
sound = AudioSegment.from_mp3("test.mp3")
试试看这个方法。