M1 Mac升级Apple Silicon版PyCharm后sounddevice库架构不兼容报错求助
解决M1 Mac升级PyCharm到Apple Silicon版本后sounddevice库的ImportError问题
问题根源
你遇到的是架构不兼容问题:之前Intel版PyCharm创建的虚拟环境是基于Rosetta转译的x86_64架构Python,而升级后的Apple Silicon版PyCharm调用的是原生arm64架构Python。旧虚拟环境中的依赖库(比如报错里的_cffi_backend)是x86_64编译的,无法在arm64环境下运行。
解决方法
方法一:重建arm64原生虚拟环境(推荐)
- 打开Apple Silicon版PyCharm,打开你的项目
- 进入
File > Settings > Project: [你的项目名] > Python Interpreter - 点击右上角齿轮图标,选择
Add - 在弹窗中选择
Virtualenv Environment,勾选New environment,确保Python解释器选M1原生arm64版本(优先选Homebrew安装的/opt/homebrew/bin/python3,系统自带的/usr/bin/python3可能还是x86架构) - 创建完成后,激活新虚拟环境,重新安装所有依赖:
pip install sounddevice # 替换成你的项目所有依赖库
方法二:用Rosetta模式运行PyCharm(保留旧环境)
如果不想重建环境,可让PyCharm继续以x86架构运行:
- 找到应用程序中的PyCharm图标,右键选择
显示简介 - 勾选
使用Rosetta打开 - 重启PyCharm,旧虚拟环境即可正常使用
方法三:单独重装arm64版cffi依赖
sounddevice依赖cffi,可单独重建arm64版的cffi:
- 先卸载现有cffi:
pip uninstall -y cffi - 使用arm64原生pip重新安装:
(若你的原生Python路径不同,替换成对应pip路径)/opt/homebrew/bin/pip install cffi sounddevice
验证架构是否正确
在终端运行以下命令,确认Python是arm64架构:
python3 -c "import platform; print(platform.machine())"
输出arm64即为原生架构,x86_64则是Rosetta转译的。
内容的提问来源于stack exchange,提问作者nhershy
相关产品推荐
相关产品推荐

