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

M1 MacBook Pro导入TensorFlow时出现Symbol not found错误

问题根因

报错触发的核心原因是当前安装的tensorflow-metal GPU加速插件编译目标为macOS 12.3版本,如果你的设备系统版本低于12.3,系统自带的/usr/lib/libc++.1.dylib动态库缺少插件依赖的函数符号,就会在加载插件时抛出动态链接错误。

可行解决方案

方案1:升级系统到适配版本(推荐)

直接将macOS升级到12.3及以上正式版本,升级完成后重启终端、重启Jupyter内核,直接运行测试代码即可正常识别GPU,不需要修改现有conda环境内的任何包版本,兼容性最稳定。

方案2:降级TensorFlow相关包适配低版本系统

如果暂时没有升级系统的计划,可以卸载当前高版本的TensorFlow组件,安装适配低版本macOS的组合版本,操作步骤如下:

  • 先卸载环境中已安装的TensorFlow相关包,避免版本冲突
    python -m pip uninstall -y tensorflow-macos tensorflow-metal tensorflow-deps
    
  • 执行命令安装版本匹配的依赖包
    # 安装对应版本的TensorFlow底层依赖
    conda install -c apple tensorflow-deps==2.9.0
    # 安装2.9.2版本的tensorflow-macos
    python -m pip install tensorflow-macos==2.9.2
    # 安装0.5.0版本的tensorflow-metal,该版本最低支持macOS 12.0
    python -m pip install tensorflow-metal==0.5.0
    # 重新安装tensorflow-datasets
    python -m pip install tensorflow-datasets
    
  • 安装完成后重启Jupyter内核,重新运行测试代码验证即可。

方案3:临时回退到CPU运行模式

如果短时间内不需要使用GPU加速,可以直接删除或重命名路径下的libmetal_plugin.dylib文件,TensorFlow会自动跳过金属插件加载,回退到CPU模式正常运行,不会抛出导入错误。你当前环境下该文件的路径为:
~/miniforge3/lib/python3.9/site-packages/tensorflow-plugins/libmetal_plugin.dylib

修复验证标准

修复完成后运行测试代码,正常输出会同时列出CPU和GPU设备,类似如下格式即代表安装正常:

TensorFlow has access to the following devices:
[PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'), PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
TensorFlow version: 2.9.2

注意:安装TensorFlow相关依赖时,尽量固定使用conda安装底层依赖、pip安装TensorFlow主包和插件,不要混用两种包管理器安装同一个组件,否则容易出现隐性依赖冲突。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 03:09:18