Подпроцесс Popen не может найти «play» - PullRequest
1 голос
/ 06 июня 2019

Пользователь из подпроцесса не может найти 'play' или 'aplay'.

Моя ОС Mac10.13.6, когда я вызвал Popen из subprocess.py и выполнил текущий код

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 голосов
/ 06 июня 2019

Я не совсем уверен, я думаю, что это должно быть. Может быть, попытаться указать полный путь и найти бинарный файл самостоятельно. (Я думаю / usr / bin / afplay)

...