解决MacOS 13.0.1 苹果M1芯片 导入pyaudio报错的问题

news/2024/10/1 12:37:51

【问题】
如果正常按照网上的教程,在terminal先使用brew安装portaudio(brew install portaudio),再使用pip在conda环境里安装pyaudio(pip install pyaudio),然后python直接导入pyaudio(import pyaudio)会报错如下:

【分析】
可知报错来自于portaudio动态库。网上搜索解决方案,除了重装、重启外,就是使用pip的 --global-option 命令去手动添加portaudio的头文件(https://github.com/OpenInterpreter/01/issues/68):
pip install --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.

然而新版的pip(我用的24.2)早就不支持--global-option命令了。我尝试按照这个解决方案的精神,自行下载编译portaudio,然后再手动下载pyaudio的包,在其setup.py手动添加portaudio/include和portaudio/lib的路径,并在其setup.cfg文件中添加相应内容,都无法解决。我觉得博主“你若向前”说的可能有道理(https://blog.csdn.net/StoryZX/article/details/123150790),也许是苹果芯片采用了ARM64架构的原因,具体还未研究清楚。

【解决】
最终解决方案是偶然试出来的。安装库sounddevice:pip install sounddevice,然后在导入pyaudio前先倒入sounddevice,就不会报错了:
import sounddevice
import pyaudio

而且确实是sounddevice的作用,因为如果只导入sounddevice所依赖的包(在sounddevice.py中),依然产生相同报错。
依然不知道为什么。。期待大神解答,反正目前问题是解决了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/66775.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

水位标尺智能识别系统

水位标尺智能识别系统通过AI视频分析技术,水位标尺智能识别系统对河道湖泊水库等水位进行7*24小时实时自动监测,当水位标尺智能识别系统监测到河道湖泊水库水位到达警戒线时,立即抓拍存档告警,并同步回传后台提醒后台值班人员及时处理。水位标尺智能识别系统通过智能视频分…

工厂人员作业流程合规实时检测系统

工厂人员作业流程合规实时检测系统通过AI视觉深度分析技术,工厂人员作业流程合规实时检测系统融入具体工厂生产线的操作流程当中,不需人为干预工厂人员作业流程合规实时检测系统可以实现对工厂流水线上作业人员的每一个流程每个动作进行识别,将现场操作行为识别得出的结果与…

人员玩手机离岗识别检测系统

人员玩手机离岗识别检测系统根通过AI机器视觉分析技术,人员玩手机离岗识别检测系统可以对企业的某些固定工位睡岗离岗、玩手机打电话、脱岗睡岗情况进行全天候不间断进行识别检测报警提醒。人员玩手机离岗识别检测系统通过AI视频分析技术可以帮助企业避免因打电话离岗等人工因…

水面漂浮物垃圾识别检测系统

水面漂浮物垃圾识别检测系统通过AI视觉分析技术,水面漂浮物垃圾识别检测系统利用现场已有的摄像头对河道湖面漂浮物、生活垃圾、水藻等多种漂浮物进行自动智能分析,水面漂浮物垃圾识别检测系统通过AI视频技术,提升河道巡查治理工作效率,用科技手段减轻人工巡视的工作量。水…

值班离岗智能识别监测系统

值班离岗智能识别监测系统通过AI视频分析技术,值班离岗智能识别监测系统能自动检测画面中人员的岗位状态(睡岗或者离岗),一旦发现工作时间人员不在岗位的时间超出后台设置时间,值班离岗智能识别监测系统便会立即抓拍存档报警,同步将违规信息传送至后台平台。值班离岗智能…

ai安全帽识别检测

ai安全帽识别检测通过AI视频智能分析技术,ai安全帽识别检测对现场摄像头的视频流智能分析,ai安全帽识别检测自动对现场人员是否佩戴安全帽进行识别检测,一旦发现现场工地施工人员没有按要求佩戴安全帽,ai安全帽识别检测系统自动进行预警并保存图像到本地同步提示后台值班人…

System.out.printf

程序示例: import java.util.Scanner;public class Test {public static void main(String[] args) {System.out.print("请输入你的名字: ");Scanner in = new Scanner(System.in);String name = in.nextLine();System.out.print("请输入你的年龄: ");int …

掌握Docker:简化KES单机安装与管理的最佳实践

今天我们将继续深入探讨KES的单机安装,依然围绕Docker的使用展开。这一部分的内容将涵盖一些常见的陷阱以及在遇到问题时如何进行有效的反馈和解决。首先,我们需要找到官方的安装教程,确保以官方指南为主,同时结合我们自己的使用习惯。 为什么我们如此青睐Docker,而不是选…