我正在尝试用M1芯片(Big )在我的新Macbook Air上安装py音频。起初,我无法通过著名的src/_portaudiomodule.c:29:10: fatal error: 'portaudio.h' file not found
错误。我记得我在我的另一台笔记本上也有这个问题,但是后来一个简单的brew install portaudio
修复了它。好吧,这次不行。。
在尝试了许多不同的事情之后,我终于找到了本指南,在找到了我的自制目录之后,我可以这样做:export LIBRARY_PATH=/opt/homebrew/lib/:$LIBRARY_PATH
-和C_INCLUDE一样。
完成此操作后,安装得很好!,但是,当我尝试将py音频导入到任何python程序并运行它时,都会出现一个错误:
Traceback (most recent call last):
File "/Users/bende/GitHub/fretboard-learner/main.py", line 5, 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
我试着搜索它,但没有结果,我真的不知道发生了什么。我所能想到的就是必须对M1芯片做些什么,因为安装在非m1mac上运行得很好。
有人知道是什么导致了这一切吗?
发布于 2021-02-13 14:46:45
不知道你是否还需要这个解决方案,但在谷歌搜索了几个小时后(我还拥有一个Mac m1),这里是我的解决方案:
一开始我无法安装PyAudio,即使在成功安装PyAudio之后也会遇到问题。我在这个过程中使用了python3.9和brew一起安装。
如果事情不顺利,重启终端可能会有所帮助。
发布于 2022-01-16 16:04:26
用于基于Intel的自制设备安装
对于那些必须使用还不能用于arm体系结构的python包的人,我们必须恢复到基于英特尔的Python包。这不是小事一桩,几乎花了我一天的时间,所以我把它描述给需要帮助的人。
下面是你需要做的事情:
在(1)中创建的终端中,运行:
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
在.bash_profile中插入:
alias ibrew="arch -x86_64 /usr/local/bin/brew"
使用brew从步骤(3),运行:
ibrew install --build-from-source -vd boost
ibrew install --build-from-source -vd boost-python3
使用brew从步骤(3),运行:
ibrew install portaudio
ibrew link portaudio
键:这会安装到/usr/local/c业力/port音频/19.7.0中,并且必须为py音频的安装提供参考!
我们现在可以用基于英特尔的自制软件安装我们安装的port音频版本。/port音频/后面的版本号可能不同,请根据您的版本进行调整。
python -m pip install --global-option='build_ext' --global-option='-I/usr/local/Cellar/portaudio/19.7.0/include' --global-option='-L/usr/local/Cellar/portaudio/19.7.0/lib' --force pyaudio
发布于 2021-09-12 07:25:11
在对相同的问题进行故障排除时(包括按照momoclouq对这个问题的回答的步骤),我也遇到了这个错误。我的最后解决办法是:
我的自制软件只安装在/usr/local中,这是用于rosetta模拟(Intel)代码的。请参阅这堆栈溢出问题/答案中的更多信息。
一旦在ARM64下正确安装了/opt/homebrew
,我就删除了以前的port音频安装,并执行了以下操作:
$arch -arm64 /opt/homebrew/bin/brew install portaudio
$pip3 install --no-cache-dir --global-option='build_ext' --global-option='-I/opt/homebrew/Cellar/portaudio/19.7.0/include' --global-option='-L/opt/homebrew/Cellar/portaudio/19.7.0/lib' pyaudio
确保此路径与您的arch arm64端口音频安装一致。https://stackoverflow.com/questions/65709212
复制相似问题