MacOS M1芯片下Pypy3安装Scipy出现Subprocess错误求助
解决M1 Mac上Pypy3安装Scipy的报错问题
问题原因
你的错误源于Pypy3运行在x86_64架构(通过Rosetta转译),但M1芯片为arm64原生架构,导致编译numpy时生成的wheel标签不被支持,进而无法完成Scipy的安装。
解决步骤
1. 确认当前Pypy3的架构
执行命令查看Pypy的运行架构:
pypy3 -c "import platform; print(platform.machine())"
若输出为x86_64,说明你使用的是Rosetta转译的Pypy版本,需要替换为arm64原生版本。
2. 安装arm64原生Pypy3
通过Homebrew安装适配M1的原生arm64版本Pypy3:
brew install pypy3
安装完成后再次执行步骤1的命令,确认输出为arm64。
3. 升级依赖工具并安装Scipy
先升级pip、setuptools和wheel:
pypy3 -mpip install --upgrade pip setuptools wheel
尝试直接安装numpy和Scipy:
pypy3 -mpip install numpy scipy
若仍报错,可指定兼容的numpy版本(部分新版本numpy对Pypy支持不完善):
pypy3 -mpip install "numpy<1.24" scipy
4. 备选方案:使用conda安装
如果上述方法无效,可通过conda-forge获取预编译的arm64版本包:
# 创建并激活Pypy环境 conda create -n pypy_env pypy -y conda activate pypy_env # 安装Scipy conda install scipy -y
前置检查:确保安装Xcode命令行工具
编译依赖需要Xcode命令行工具,若未安装执行:
xcode-select --install
内容的提问来源于stack exchange,提问作者Leno
相关产品推荐
相关产品推荐

