我试图在我的MacBook上导入Pyaudio与M1芯片。我有Python版本3.9.6和Python(Python 3.8),现在使用的终端版本是3.9.6。
在我得到这个错误之前,我修复了'brew安装portaudio'和'pip安装pyaudio'的问题。Portaudio和Pyaudio安装得很好!但是当我试图导入pyaudio时,
Could not import the PyAudio C module '_portaudio'.
Traceback (most recent call last):
File "/Users/hson/Desktop/k.A.I_speaker/test.py", line 2, in <module>
import make_pyaudio
File "/Users/hson/Desktop/k.A.I_speaker/make_pyaudio.py", line 1, in <module>
import pyaudio
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pyaudio.py", line 116, in <module>
import _portaudio as pa
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/_portaudio.cpython-39-darwin.so, 2): Symbol not found: _PaMacCore_SetupChannelMap
Referenced from: /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/_portaudio.cpython-39-darwin.so
Expected in: flat namespace
in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/_portaudio.cpython-39-darwin.so
我试着卸载Portaudio&PyAudio并重新安装很多次,但仍然无法修复这个问题。
有没有人谁得到这个问题,并解决它?
2条答案
按热度按时间z3yyvxxp1#
根据您需要使用的体系结构,有两种解决方案。对于这两种解决方案,/portaudio/之后的版本号可能不同,请根据您的版本号进行调整。
对于基于Intel的自制程序安装
对于那些必须使用python软件包的人来说,我们必须恢复使用基于intel的python软件包,这不是小事,花了我几乎一天的时间,所以我向有需要的人描述一下。
以下是您需要做的事情:
1.在Rosetta下运行终端|在Rosetta下运行
1.将自制程序安装为基于英特尔的版本
在(1)中创建的终端中,运行:
1.为基于英特尔的自制程序创建别名
在. bash_profile中,插入:
1.安装boost和boost_python库:
使用步骤(3)中的酿造液,运行:
1.安装端口收音机
使用步骤(3)中的酿造液,运行:
关键:这会将portaudio安装到/usr/local/Cellar/portaudio/19.7.0,并且必须在pyaudio安装中引用!!!
1.安装Pyaudio
我们现在可以安装pyaudio和我们安装的基于intel的自制程序的portaudio版本。/portaudio/后面的版本号可能会不同,请调整到您的版本号。
对于基于ARM的自制程序安装
1.使用正常酿造
运行:
1.安装PyAudio
运行:
elcex8rz2#
“康达安装portaudio pyaudio”工作在我的m1 mac