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

M1 Max芯片Mac导入torchrec模块触发OSError报错问题求助

问题根因

触发该报错的核心原因是默认pip源拉取的fbgemm_gpu(torchrec的强制依赖)预编译包为x86_64架构/Linux平台版本,并非适配Apple Silicon(M1 Max为arm64架构)macOS的Mach-O格式二进制,系统无法正常加载。只要安装时拉取的是错误架构的预编译包,哪怕新建虚拟环境重装也会重复触发相同报错。

报错原文参考:

OSError: dlopen(/opt/homebrew/Caskroom/miniforge/base/envs/dlrm_env2/lib/python3.10/site-packages/fbgemm_gpu/fbgemm_gpu_py.so, 0x0006): tried: '/opt/homebrew/Caskroom/miniforge/base/envs/dlrm_env2/lib/python3.10/site-packages/fbgemm_gpu/fbgemm_gpu_py.so' (not a mach-o file)
解决步骤
  • 先清理现有环境中错误安装的相关包,执行以下命令:
pip uninstall -y torchrec fbgemm-gpu fbgemm-gpu-nightly
  • 确认终端运行架构:终端执行arch命令,输出结果必须为arm64。如果输出为i386,需关闭当前终端,在访达中找到终端应用,右键选择「显示简介」,取消勾选「使用Rosetta打开」,重启终端后重新进入对应虚拟环境。
  • 按顺序安装适配arm64架构的依赖包:
    1. 先安装编译所需的基础依赖:
    pip install numpy ninja pyre-extensions
    
    1. 设置环境变量指定编译CPU版本的fbgemm_gpu,跳过CUDA相关逻辑,再执行安装。该步骤会从源码本地编译,耗时根据设备性能在5-15分钟不等,属于正常现象:
    export FBGEMM_CPU_ONLY=1
    pip install fbgemm-gpu --no-binary fbgemm-gpu
    
    1. 最后安装CPU版本torchrec,同样跳过预编译二进制包,使用本地编译适配版本:
    pip install torchrec --no-binary torchrec
    
  • 安装完成后进入Python交互环境,执行import torchrec,无dlopen类报错即为安装成功。
注意事项

不要直接照搬PyTorch官方教程里的默认pip安装命令,也不要通过conda源直接安装torchrec,目前官方预编译包、conda源的torchrec相关包均未提供适配Apple Silicon arm64架构的版本,直接安装仍会触发架构不匹配报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 02:57:33