You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Mac(Rosetta 2 x86_64架构)安装uwsgi编译wheel失败求助

M1 Mac(Rosetta 2 x86_64架构)安装uWSGI编译失败的问题排查与解决

可能的问题点

  • Python架构未匹配x86_64:pyenv安装的Python 3.8.5大概率是在ARM原生环境下编译的,而非Rosetta 2模拟的x86_64环境,导致uWSGI编译时出现架构不兼容错误。
  • 缺少编译依赖:uWSGI编译依赖Xcode Command Line Tools及系统底层库,若未完整安装或版本过旧,会直接导致编译wheel失败。
  • uWSGI版本兼容性:较早期的uWSGI版本对M1 + Rosetta 2的组合支持不足,存在编译适配缺陷。

解决步骤

1. 在Rosetta 2终端中重新安装Python 3.8.5

先打开Rosetta 2终端(右键终端→「获取信息」→勾选「使用Rosetta打开」),执行以下命令:

# 卸载当前可能存在的ARM架构Python 3.8.5
pyenv uninstall 3.8.5
# 设置环境变量强制x86_64架构编译
export ARCHFLAGS="-arch x86_64"
# 重新安装x86_64架构的Python 3.8.5
pyenv install 3.8.5
# 设置全局或局部使用该版本
pyenv global 3.8.5

2. 补全编译依赖

确保Xcode Command Line Tools已安装并更新:

# 安装Command Line Tools
xcode-select --install
# 更新到最新系统组件
softwareupdate --all --install --force

3. 指定参数安装uWSGI

通过架构参数强制编译x86_64版本,或选择兼容性更好的uWSGI版本:

# 方式1:添加编译参数安装最新兼容版本
ARCHFLAGS="-arch x86_64" pip install uwsgi
# 方式2:安装经过验证的适配版本(如2.0.21)
pip install uwsgi==2.0.21

4. 验证架构一致性

安装完成后确认Python和uWSGI的架构匹配:

# 查看Python架构
file $(which python)
# 查看uWSGI架构
file $(which uwsgi)

输出需包含x86_64,确认二者架构一致。

内容的提问来源于stack exchange,提问作者danil51608

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 12:52:11