Potíže s instalací PyAudio na Mac M1

0

Otázka

Vezměte prosím na vědomí odpovědi již poskytovány na Přetečení Zásobníku na mě nefungovalo. Včetně, ale ne omezený k:

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

Mohl bych použít nějakou pomoc od někoho, kdo je skutečně ochoten pomoci.

Když jsem se spustit výše uvedené funkce, vše funguje v pořádku, dokud jsem hit pip install pyaudio linka a pak následující chyba vyskytuje:

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

Jakýkoliv pomoci chtěl bych být ocenil. Děkuji

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

Nejlepší odpověď

1

tohle je moje první reakce na Přetečení Zásobníku, takže odpusť mi, pro všechny nejasnosti. Zkoušela jsem se na to pomocí Python3.10 pip na Apple Silicon a všiml si, že instalační program se pokusí vytvořit modul od zdroje. Měli byste vidět výstup, jako je to v úplné chybová zpráva.

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

Právě jsem narazil na tento problém, při instalaci psycopg2 a když jsem to nainstaloval jako předkompilované binární, bez problému.

V době, kdy jsem napsal tuto odpověď, kompilaci ze zdroje na Apple Silicon je podporován na několik modulů, jako je PIL, které vyžaduje nativní build a nebude fungovat bez něj. Pokud vím, tady jsou vaše možnosti:

  1. Ke stažení kola ručně a najít cestu k sestavení (není doporučeno)
  2. Nainstalovat předpřipravené binární made for Apple Silicon (není v existenci, že jsem si vědom)
  3. Nainstalovat 64-bit pyaudio build, který je Rosetta kompatibilní (nejjednodušší)

Tam jsou užitečné odpovědi na tuto otázku , které popisují proces k instalaci 64-bit verze.

2021-11-23 03:29:24

V jiných jazycích

Tato stránka je v jiných jazycích

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