子进程Popen找不到“播放”

时间:2019-06-06 09:30:00

标签: python-3.x subprocess popen

从子流程中打开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'

我需要安装一些依赖项吗?

1 个答案:

答案 0 :(得分:0)

我不太确定,我认为这必须是afplay。也许尝试给出完整的路径并自己寻找二进制文件。 (我认为/ usr / bin / afplay)