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

Apple M1芯片Mac安装pydgq库时出现非法硬件指令错误求助

解决M1芯片Mac上pydgq库的「illegal hardware instruction」错误

核心原因:M1为ARM64架构,你使用的Anaconda Python 3.7.13大概率是通过Rosetta 2转译的x86_64版本,而pydgq编译时可能生成了仅兼容x86的二进制代码,或依赖的底层库存在架构不兼容问题。

可行解决方案

1. 使用原生ARM版Python重新编译安装

  • 卸载当前Anaconda的x86版本,改用支持M1的Miniforge(Anaconda社区针对ARM架构的发行版),安装Python 3.8+版本(Python 3.7对M1原生支持不佳)
  • 重新克隆pydgq仓库,用原生ARM Python执行安装:
    git clone https://github.com/Technologicat/pydgq.git
    cd pydgq
    python setup.py install --user  # 避免sudo,用户级安装更安全
    
  • 安装完成后运行测试脚本,此时Python为原生ARM架构,不会出现转译导致的硬件指令错误。

2. 强制Rosetta 2转译运行(临时 workaround)

如果暂时不想更换Python环境,可通过Rosetta 2启动终端后再运行Python:

  • 找到「终端.app」,右键选择「显示简介」,勾选「使用Rosetta打开」
  • 在这个转译后的终端中重新执行安装命令,再运行测试脚本或导入库
  • 注意:该方法存在性能损耗,仅作为临时方案使用。

3. 修改setup.py编译参数(面向有编译基础的用户)

打开pydgq的setup.py,检查是否存在指定x86专属的编译选项(如-march=x86-64这类参数),将其修改为兼容ARM64的选项,或直接移除架构专属参数,让编译器自动适配当前硬件:

  • 定位到extra_compile_args相关配置,删除或调整其中的架构限定参数
  • 重新运行python setup.py install

额外提示

  • 避免使用sudo安装Python库,优先使用--user参数或虚拟环境,防止破坏系统环境
  • Python 3.7已停止维护,升级到3.8+版本不仅能更好适配M1,还能获取安全更新

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:36:20