问题
My ultimate aim is to run the code snippet below on Lambda but as I was having difficulties, I tried running it on my mac. I get the same error running with python2.7 on OSX as I do when I run it on AWS lambda.
The code is:
from pydub import AudioSegment
import os
def test():
print("Starting")
files = [f for f in os.listdir('.') if os.path.isfile(f)]
for f in files:
print (f)
sound = AudioSegment.from_mp3("test.mp3")
test()
The output of the code from pycharm is:
Starting
ffmpeg
.DS_Store
requirements.txt
concat.py
test.mp3
ffprobe
Traceback (most recent call last):
File "/Applications/PyCharm CE.app/Contents/plugins/python-ce/helpers/pydev/pydevd.py", line 1438, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "/Users/mh/Desktop/sC/concat/concat.py", line 13, in <module>
test()
File "/Users/mh/Desktop/sC/concat/concat.py", line 11, in test
sound = AudioSegment.from_mp3("test.mp3")
File "/Users/mh/Desktop/sC/concat/venv2.7/lib/python2.7/site-packages/pydub/audio_segment.py", line 738, in from_mp3
return cls.from_file(file, 'mp3', parameters=parameters)
File "/Users/mh/Desktop/sC/concat/venv2.7/lib/python2.7/site-packages/pydub/audio_segment.py", line 685, in from_file
info = mediainfo_json(orig_file, read_ahead_limit=read_ahead_limit)
File "/Users/mh/Desktop/sC/concat/venv2.7/lib/python2.7/site-packages/pydub/utils.py", line 274, in mediainfo_json
res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 394, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1047, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Is this actually a problem with pydub/ffmpeg/ffprobe, rather than the location of my mp3 file? As I'm trying to package this project for Lambda, I've put executable versions of ffmpeg and ffprobe in the root of the project, rather than installed them to my OS. Before I did this, pydub complained that it couldn't find ffmpeg. It's now not complaining but, could I have chosen the wrong binary?
Any ideas?
来源:https://stackoverflow.com/questions/62905735/no-such-file-error-using-pydub-on-osx-with-pycharm