Dificuldade de instalar PyAudio no Mac M1

0

Pergunta

Por favor, note que as respostas já está previsto na Estouro de Pilha não funcionou para mim. Incluindo, mas não limitado a:

brew update
brew install portaudio
brew link --overwrite portaudio
pip install pyaudio

Eu poderia usar alguma ajuda de alguém que esteja realmente disposto a ajudar.

Quando eu executar as funções acima, tudo funciona muito bem, até que eu bati o pip install pyaudio linha e, em seguida, ocorre o erro abaixo:

WARNING: Discarding https://files.pythonhosted.org/packages/d0/dc/ffb9ce5e3f19bd289902915a9f68b7d199216065f8ea17d5b5e8e4ad86ee/PyAudio-0.2.9.tar.gz#sha256=bfd694272b3d1efc51726d0c27650b3c3ba1345f7f8fdada7e86c9751ce0f2a1 (from https://pypi.org/simple/pyaudio/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Using cached pyaudio-0.2.8.tar.gz (235 kB)
  Preparing metadata (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /Library/Frameworks/Python.framework/Versions/3.10/bin/python3 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lw/_gcm85s107z9sbgqyrw5pw700000gn/T/pip-install-vvvb_ho8/pyaudio_ebec704a423648cfb3b175c8def295f6/setup.py'"'"'; __file__='"'"'/private/var/folders/lw/_gcm85s107z9sbgqyrw5pw700000gn/T/pip-install-vvvb_ho8/pyaudio_ebec704a423648cfb3b175c8def295f6/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/lw/_gcm85s107z9sbgqyrw5pw700000gn/T/pip-pip-egg-info-j7szc61a
       cwd: /private/var/folders/lw/_gcm85s107z9sbgqyrw5pw700000gn/T/pip-install-vvvb_ho8/pyaudio_ebec704a423648cfb3b175c8def295f6/
  Complete output (15 lines):
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/private/var/folders/lw/_gcm85s107z9sbgqyrw5pw700000gn/T/pip-install-vvvb_ho8/pyaudio_ebec704a423648cfb3b175c8def295f6/setup.py", line 124, in <module>
      setup(name = 'PyAudio',
    File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/distutils/core.py", line 121, in setup
      dist.parse_config_files()
    File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/dist.py", line 796, in parse_config_files
      self._parse_config_files(filenames=filenames)
    File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/dist.py", line 664, in _parse_config_files
      parser.read_file(reader)
    File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/configparser.py", line 719, in read_file
      self._read(f, source)
    File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/configparser.py", line 1097, in _read
      raise DuplicateOptionError(sectname, optname,
  configparser.DuplicateOptionError: While reading from '/Users/evvolvx/.pydistutils.cfg' [line  3]: option 'include_dirs' in section 'build_ext' already exists
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/06/d1/3d202c9187fb78ad6d4f8b476a8cc0ded7c1b47ca33d5dab73b959faf123/pyaudio-0.2.8.tar.gz#sha256=4f85367cf79657616684487037957ac38582ecc5389b89420fe61d901b719551 (from https://pypi.org/simple/pyaudio/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement pyaudio (from versions: 0.2.8, 0.2.9, 0.2.10, 0.2.11)
ERROR: No matching distribution found for pyaudio

Qualquer ajuda seria muito apreciada. Obrigado

apple-m1 macos pyaudio python
2021-11-22 01:55:34
1

Melhor resposta

1

esta é a minha primeira resposta sobre o Estouro de Pilha então me perdoe por qualquer falta de clareza. Eu tentei correr esta usando Python3.10 pip na Apple Silicone e notei que o programa de instalação tenta criar o módulo a partir do código fonte. Você deve ver uma saída similar a esta mensagem de erro completa.

Complete output (16 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-11-x86_64-3.9
  copying src/pyaudio.py -> build/lib.macosx-11-x86_64-3.9
  running build_ext
  building '_portaudio' extension
  creating build/temp.macosx-11-x86_64-3.9
  creating build/temp.macosx-11-x86_64-3.9/src
  clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -DMACOSX=1 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c src/_portaudiomodule.c -o build/temp.macosx-11-x86_64-3.9/src/_portaudiomodule.o
  src/_portaudiomodule.c:29:10: fatal error: 'portaudio.h' file not found
  #include "portaudio.h"
           ^~~~~~~~~~~~~
  1 error generated.
  error: command '/usr/bin/clang' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for pyaudio

Eu corri para esse problema ao instalar psycopg2 e quando eu instalei ele como um pré-construído binário, sem problema.

Na época eu escrevi essa resposta, compilando a partir do código fonte na Apple Silicone não é suportado por alguns módulos, como o PIB, o que requer um nativo construir e não funciona sem ele. Até onde eu sei, aqui estão as suas opções:

  1. Baixar a roda manualmente e encontrar uma maneira de compilar (não recomendado)
  2. Instalar um pré-construído binário feito para a Apple, Silício (não na existência, que estou ciente de)
  3. Instale a versão de 64 bits pyaudio construir o que é Rosetta compatível (mais simples)

Há útil respostas sobre esta questão que descrevem o processo para instalar a versão de 64 bits.

2021-11-23 03:29:24

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................