请注意,Stack Overflow上已经提供的答案对我不起作用。包括但不限于:
brew update
brew install portaudio
brew link --overwrite portaudio
pip install pyaudio
我需要一个真正愿意帮助我的人的帮助。
当我运行上面的函数时,一切都很好,直到我到达pip install pyaudio
行,然后出现下面的错误:
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('"'"'rn'"'"', '"'"'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
如有任何帮助,我们将不胜感激。谢谢
这是我对Stack Overflow的第一个响应,请原谅我的理解不够清晰。我试着在Apple Silicon上使用Python3.10 pip运行这个模块,并注意到安装程序试图从源代码构建模块。您应该在完整的错误消息中看到这样的输出。
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/openssl@1.1/include -I/usr/local/opt/sqlite/include -I/usr/local/opt/python@3.9/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
我只是在安装psycopg2时遇到了这个问题,当我将其作为预构建的二进制文件安装时,没有问题。
在我写这封回复的时候,像PIL这样的少数模块不支持在Apple Silicon上从源代码编译,PIL需要本地构建,没有它就无法运行。据我所知,以下是您的选择:
- 手动下载轮子并找到编译方法(不推荐(
- 安装一个为Apple Silicon制作的预构建二进制程序(据我所知,该程序不存在(
- 安装与Rosetta兼容的64位pyaudio构建(最简单(
关于这个问题,有一些有用的回答,描述了安装64位版本的过程。