Я пытаюсь использовать pyaudio с Python 3 на экземпляре ECS AWS, работающем под управлением «Amazon Linux 2 AMI 2.0.20190618 x86_64 HVM gp2» или Ubuntu (одинаковый результат для обоих).
Я начал с получения версии Anaconda для Python 3 и установил pyaudio с conda. Тем не менее, когда я на самом деле пытаюсь использовать pyaudio, нет доступных устройств. То же самое, если я пытаюсь установить с помощью pip (для этого сначала нужно установить gcc, затем собрать и установить PortAudio из исходников, а затем только из pyaudio).
import pyaudio
pa = pyaudio.PyAudio()
pa.get_device_count()
>> 0
Я запустил это в оболочке Python, которую я запустил после загрузки экземпляра со своей машины, а также в записной книжке Jupyter, на которой я работаю на экземпляре и обращаюсь к ней из моего браузера. Конечная цель - сделать аудиозапись доступной в этой записной книжке. При попытке использовать pa.open(...)
ошибка:
...
~/anaconda3/lib/python3.7/site-packages/pyaudio.py in __init__(self, PA_manager, rate, channels, format, input, output, input_device_index, output_device_index, frames_per_buffer, start, input_host_api_specific_stream_info, output_host_api_specific_stream_info, stream_callback)
439
440 # calling pa.open returns a stream object
--> 441 self._stream = pa.open(**arguments)
442
443 self._input_latency = self._stream.inputLatency
OSError: [Errno -9996] Invalid input device (no default output device)