PyAudio OSError: [Errno -9986] Внутренняя ошибка PortAudio

Я пытаюсь запустить PyAudio в OSX на MacBook Air, но постоянно получаю сообщение об ошибке:

||PaMacCore (AUHAL)|| Error on line 1316: err='-66748', msg=Unknown Error
Traceback (most recent call last):
  File "main.py", line 15, in <module>
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
  File "/Users/carlbengtsson/Library/Mobile Documents/com~apple~CloudDocs/stickerapp-ml/sound-detection/venv/lib/python3.8/site-packages/pyaudio.py", line 750, in open
    stream = Stream(self, *args, **kwargs)
  File "/Users/carlbengtsson/Library/Mobile Documents/com~apple~CloudDocs/sound-detection/venv/lib/python3.8/site-packages/pyaudio.py", line 441, in __init__
    self._stream = pa.open(**arguments)
OSError: [Errno -9986] Internal PortAudio error

Я использую Python 3.8.2 и установил PortAudio с помощью brew. Кто-нибудь сталкивался с этой проблемой раньше, у кого есть идеи о том, с чего начать отладку или альтернативы для распознавания звука? Спасибо

Я не совсем уверен, что именно не так. Но я предположил, что вы установили его с помощью pip install pyaudio? Вы можете попробовать удалить и установить его снова, используя pipwin. pip install pipwin затем py -m pipwin install pyaudio или pip install pyaudio

Jarrett 24.12.2020 03:09

Другая проблема также может быть связана с версией Python. Возможно, попробовать Python 3.7?

Jarrett 24.12.2020 03:10

Спасибо за ваш ответ, но pipwin выдает ошибку при запуске, ERROR: PyAudio-0.2.11-cp38-cp38-win_amd64.whl is not a supported wheel on this platform. я думаю, это потому, что я на Mac и OS X? Также Python 3.7 дал точно такую ​​​​же ошибку. Любые другие идеи очень приветствуются!

Carl 25.12.2020 00:54

Вы можете попробовать запустить его в виртуальной среде. Либо используйте python, запустив python -m venv . и Scripts\activate, чтобы активировать его. Или вы можете использовать anaconda, если она у вас установлена, запустив conda create -n <venv name> python=3.6 и conda activate <venv name>, затем попробуйте удалить и использовать тот же способ установки в venv, прежде чем запускать файл python из venv.

Jarrett 25.12.2020 04:09

Но есть и другие альтернативы PyAudio. realpython.com/playing-and-recording-sound-python

Jarrett 25.12.2020 04:10

Спасибо за помощь! Пробовал запускать разные версии Python в vent, а также тестировать звуковое устройство, но с той же ошибкой PortAudio ||PaMacCore (AUHAL)|| Error on line 1277: err='-66748', msg=Unknown Error PortAudioError: Error opening InputStream: Internal PortAudio error [PaErrorCode -9986] Похоже, что обе библиотеки зависят от PortAudio, и ошибка находится внутри самого PortAudio. Не уверен, как отладить эту мысль.

Carl 25.12.2020 14:54

это решение больше не работает в MacOS Monterey

Zev Averbach 29.06.2022 17:57
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
4
7
1 929
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы недавно обновились до BigSur? Я видел это с другой программой после обновления.

Да! Я совсем недавно обновился до BigSur, но до этого не запускал PortAudio, поэтому не могу сказать, вызвало ли это проблему или нет. Вы видели какие-либо решения, чтобы заставить его работать на BigSur? Спасибо

Carl 25.12.2020 23:46
Ответ принят как подходящий

Я тоже начал получать эту ошибку после обновления до Big Sur.

Похоже, возникла проблема с компиляцией portaudio для macOS SDK 11. Понижение версии XCode до 12.1 (которая использует macOS SDK 10.5) на Big Sur, как сообщается, устранило проблему, которая в настоящее время отслеживается здесь: https://github.com/ PortAudio/portaudio/issues/218#issuecomment-731310548.

В качестве альтернативы, теперь переустановка из --HEAD, кажется, работает для меня.

brew uninstall portaudio
brew install portaudio --HEAD

Это решило проблему для меня, огромное спасибо!

Carl 19.01.2021 12:50

Искал это часами! Это работает! :D Спасибо

polyclick 31.01.2021 13:16

🙌 Большое (Сур) Спасибо!

Ryan Martin 05.03.2021 02:05

Спасатель жизни! Спасибо

Yair M 07.03.2021 12:27

Другие вопросы по теме