首页 > 解决方案 > 无法在 13 英寸 m1 MacBook Pro 上运行 python 包 AIBenchmark

问题描述

我得到了一个新的 m1 MacBook Pro 并安装了 Apple 提供的 TensorFlow 2,我决定对 MacBook 做一些测试,所以我安装了 python3 包“AIBenchmark”,过程成功,没有任何错误消息。但是,当我导入它时,出现以下错误消息。

Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "/Users/andrew/tensorflow_macos_venv/lib/python3.8/site-packages/ai_benchmark/__init__.py",
line 5, in <module>
    from ai_benchmark.utils import *
File "/Users/andrew/tensorflow_macos_venv/lib/python3.8/site-packages/ai_benchmark/utils.py",
line 10, in <module>
    from PIL import Image
File "/Users/andrew/tensorflow_macos_venv/lib/python3.8/site-packages/PIL/Image.py",
line 94, in <module>
    from . import _imaging as core ImportError: dlopen(/Users/andrew/tensorflow_macos_venv/lib/python3.8/site-packages/PIL/_imaging.cpython-38-darwin.so,
2): no suitable image found.  Did find:
  /Users/andrew/tensorflow_macos_venv/lib/python3.8/site-packages/PIL/_imaging.cpython-38-darwin.so:
mach-o, but wrong architecture
  /Users/andrew/tensorflow_macos_venv/lib/python3.8/site-packages/PIL/_imaging.cpython-38-darwin.so:
mach-o, but wrong architecture 

我该如何解决这个问题?

标签: python-3.xtensorflowapple-silicon

解决方案


我猜测,由于AI Benchmark自 2019 年 12 月 18 日以来没有更新,因此该库是英特尔架构二进制文件。我不知道通过 Xcode 命令行工具安装 python 3.8 的详细信息,但我想它是一个通用二进制文件(英特尔和 Apple Arm64 架构)。我的猜测是你必须将 TensorFlow 作为英特尔二进制文件运行,所以我会在终端中尝试以下操作:在你的命令之前启动你的应用程序

arch -x86_64

或者,将终端配置为在 Rosetta2 下运行。

  1. 在 Finder 中右键单击终端
  2. 获取信息
  3. 与罗塞塔一起开放

这里有更多建议(不,它与 python 或 TensorFlow 无关,但是是的,它是相关的)。


推荐阅读