从子流程中打开Popen找不到'play'或'aplay'。
当我从subprocess.py调用Popen并执行流代码时,我的操作系统是Mac10.13.6
import platform
from subprocess import Popen
player = 'play' if platform.system() == 'Darwin' else 'aplay'
Popen([player, '-q', filename])
我收到以下错误
File "/Users/lyuzhiliang/mycroft-precise/precise/util.py", line 78, in play_audio
Popen([player, '-q', filename])
File "/Users/lyuzhiliang/anaconda3/lib/python3.6/subprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "/Users/lyuzhiliang/anaconda3/lib/python3.6/subprocess.py", line 1344, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'play': 'play'
我需要安装一些依赖项吗?
答案 0 :(得分:0)
我不太确定,我认为这必须是afplay。也许尝试给出完整的路径并自己寻找二进制文件。 (我认为/ usr / bin / afplay)