首页 > 解决方案 > 尝试加载 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

任何帮助将不胜感激

标签: pythonpycharmfile-not-foundlibrosa

解决方案


我遇到了同样的问题,并在 ffdec.py 中用 return subprocess.Popen(cmd, *args, **kwargs, shell = True) 更改了行return subprocess.Popen (cmd, *args, **kwargs)。它可以工作,但不建议通过 shell 执行代码。更多细节可以参考:子进程中'shell=True'的实际含义


推荐阅读