M2 Mac导入Torchvision/numpy遇架构不兼容错误求助
解决M2 Mac上Python包架构不兼容问题
问题核心
你遇到的ImportError是因为安装的PIL(Pillow)包为x86_64架构,但你的M2 MacBook Pro是arm64e架构,二者不兼容导致无法加载底层模块。这类问题通常源于使用了Rosetta模拟的Python环境,或pip默认拉取了x86版本的依赖包。
解决方案
1. 确认当前Python架构
打开终端,执行命令查看Python的架构类型:
python3 -c "import platform; print(platform.machine())"
- 输出
x86_64:说明正在使用Rosetta模拟的Python环境 - 输出
arm64:说明是适配M2的原生Python环境
2. 切换到原生arm64 Python环境
- 系统自带Python:右键终端图标→「显示简介」,取消勾选「使用Rosetta打开」,重启终端后再运行Python即可切换到原生arm64环境。
- Homebrew安装的Python:重新安装适配arm64的版本:
安装完成后,执行brew uninstall python brew install pythonwhich python3确认路径为/opt/homebrew/bin/python3(Homebrew给arm64环境的默认路径)。
3. 重装冲突依赖包
先卸载现有的不兼容包:
pip3 uninstall -y pillow torchvision numpy
再用原生arm64的pip重新安装适配版本:
pip3 install torch torchvision numpy
注:PyTorch针对M2提供了专门的arm64版本,直接pip安装会自动适配,无需额外指定架构。
4. 在VS Code中指定正确解释器
打开VS Code,按Cmd+Shift+P,输入「Python: Select Interpreter」,选择刚才确认的arm64版本Python(路径通常为/opt/homebrew/bin/python3或对应版本的原生Python路径)。
内容的提问来源于stack exchange,提问作者Marino
相关产品推荐
相关产品推荐

