python - LocalAudioFile(file) 错误返回 OSError : [Errno 2] No such file or directory

标签 python linux api ffmpeg echonest

很像这里的问题http://developer.echonest.com/forums/thread/3843#reply ,我有以下错误:

File "/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py", line 944, in init sampleRate=sampleRate, numChannels=numChannels) File "/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py", line 403, in init self.load() File "/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py", line 421, in load numChannels=self.numChannels, sampleRate=self.sampleRate, verbose=self.verbose) File "/usr/local/lib/python2.7/dist-packages/echonest/remix/support/ffmpeg.py", line 91, in ffmpeg close_fds=(not win) File "/usr/lib/python2.7/subprocess.py", line 710, in init errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory

我检查了输入和输出文件权限,确保文件和所有相关文件路径都存在,并且我安装了所有相关的 python 工具。第一条线索是 Subprocess.py 有问题。查看第 88 行的 ffmpeg.py,我开始尝试 Popen 函数调用,看看它是如何以及为什么会出现异常。

解决方法:

在处理 ffmpeg.py 文件后,我将输入通过管道传输到 shell(shell=True 而不是 shell=False),这引发了以下错误:

check raise Run timeError(ffmpeg_install_instructions) RuntimeError: en-ffmpeg not found! Please make sure ffmpeg is installed and create a link as follows: sudo ln -s which ffmpeg /usr/local/bin/en-ffmpeg Alternatively, import echonest.remix.support.ffmpeg and modify ffmpeg.FFMPEG to name the appropriate binary.

因此,要最终确定解决方案,您需要从 https://ffmpeg.org/download.html#build-linux 获取二进制文件,这在 Ubuntu 14.04 中意味着您只需要:

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install ffmpeg
sudo ln -s `which ffmpeg` /usr/local/bin/en-ffmpeg

这应该可以解决这个问题。

最佳答案

我想我可以直接发布链接的问题,然后将我的答案放在这里。但重申一下,这不是文件存在的问题,而是未正确安装和配置的 ffmpeg 问题。安装 ffmpeg 并放置正确的符号链接(symbolic link)让一切都对我有用。

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install ffmpeg
sudo ln -s `which ffmpeg` /usr/local/bin/en-ffmpeg

关于python - LocalAudioFile(file) 错误返回 OSError : [Errno 2] No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35809581/

相关文章:

python:删除文件中的数字

python - scikit-learn RidgeCV 评分选项不起作用

python - 切片超像素的平均颜色

python - 无法使用Python连接简单的国际空间站api

python - Matplotlib 和 Latex Beamer : Correct size

c++ - 当有足够的可用 RAM 时使用交换。性能受影响

linux - 如何在 Linux 中将一行附加到一个非常大的文件的开头?

node.js - 从 localhost 网站执行 linux 命令

linux - Windows "InterLockedCompareExchange"API 是否有 Linux 等效项?

api - Instagram Api用户注销