python - 尝试加载 Librosa 的示例文件时找不到文件错误
问题描述
我正在使用 Librosa 编写我的第一个程序,所以我从他们的文档中复制了一些代码,看看我是否可以让它工作。尝试加载示例文件时出现文件未找到错误,我不知道原因。我发现一些人说他们没有后端错误(https://github.com/librosa/librosa/issues/743,https://github.com/beetbox/audioread/issues/54)我想知道这是否与我的问题有关?如果这有所作为,我正在使用 PyCharm
这是我的代码:
import librosa
filename = librosa.util.example_audio_file()
y, sr = librosa.load(filename)
print(y)
这是错误消息:
Traceback (most recent call last):
File "C:/Users/owner/PycharmProjects/SongVisualizer/SongVisualizer.py", line 11, in <module>
y, sr = librosa.load(filename)
File "C:\Users\owner\PycharmProjects\SongVisualizer\venv\lib\site-packages\librosa\core\audio.py", line 119, in load
with audioread.audio_open(os.path.realpath(path)) as input_file:
File "C:\Users\owner\PycharmProjects\SongVisualizer\venv\lib\site-packages\audioread\__init__.py", line 107, in audio_open
backends = available_backends()
File "C:\Users\owner\PycharmProjects\SongVisualizer\venv\lib\site-packages\audioread\__init__.py", line 86, in available_backends
if ffdec.available():
File "C:\Users\owner\PycharmProjects\SongVisualizer\venv\lib\site-packages\audioread\ffdec.py", line 108, in available
creationflags=PROC_FLAGS,
File "C:\Users\owner\PycharmProjects\SongVisualizer\venv\lib\site-packages\audioread\ffdec.py", line 94, in popen_multiple
return subprocess.Popen(cmd, *args, **kwargs)
File "C:\Python37\lib\subprocess.py", line 775, in __init__
restore_signals, start_new_session)
File "C:\Python37\lib\subprocess.py", line 1178, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
任何帮助将不胜感激
解决方案
我遇到了同样的问题,并在 ffdec.py 中用 return subprocess.Popen(cmd, *args, **kwargs, shell = True) 更改了行return subprocess.Popen (cmd, *args, **kwargs)。它可以工作,但不建议通过 shell 执行代码。更多细节可以参考:子进程中'shell=True'的实际含义