所以我遇到了这个错误,许多其他人似乎在以前的 macbook(例如 M1)上遇到过这个错误...我已经尝试了他们建议的所有方法来修复它,即从
--HEAD
和到从源代码安装,但我似乎总是以某种方式遇到 C 库的问题。
我从
import pyaudio
得到的当前错误是这个:
Could not import the PyAudio C module 'pyaudio._portaudio'.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/salah/opt/anaconda3/envs/audio_env/lib/python3.10/site-packages/pyaudio/__init__.py", line 111, in <module>
import pyaudio._portaudio as pa
ImportError: dlopen(/Users/salah/opt/anaconda3/envs/audio_env/lib/python3.10/site-packages/pyaudio/_portaudio.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '_PaMacCore_SetupChannelMap'
关于如何解决这个问题有什么建议吗?由于某种原因,从源代码构建 portaudio 不起作用......
我不知道这是否是“方法”,但如果我没记错的话,我在 Linux 上的做法是这样的。
我使用“python -m venv .venv”为我的项目创建了一个虚拟环境
我从pypi下载了pyaudio tar ball,放在我的项目文件夹中并解压。
我将 portaudio tar 包中的 portaudio.h 文件(您可以在此处下载)复制到 pyaudio 的 src/pyaudio 目录中。
我不是 100% 确定这是否是我添加到 sys.path 的路径,但我认为它是......无论如何,你需要添加一些路径,以便 python 知道在哪里可以找到你从源代码构建的 pyaudio 模块。