我得到了一台新的m1 MacBook Pro,安装了苹果提供的TensorFlow 2,我决定为MacBook做一些测试,所以我安装了python3包" aibenchmarking ",这个过程是成功的,没有任何错误信息。但是,当我导入它时,出现了以下错误消息:
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
如何解决这个问题?
我猜,由于AI基准自2019年12月18日以来没有更新,该库是英特尔架构二进制文件。我不知道通过Xcode命令行工具安装python 3.8的细节,但我想象它是一个通用二进制文件(英特尔和苹果的Arm64架构)。我的猜测是,你将不得不运行TensorFlow作为英特尔二进制文件,所以我会在终端中尝试以下操作:在命令之前使用
启动应用程序arch -x86_64
或者将Terminal配置为在Rosetta2下运行。
- 右键单击Finder 中的Terminal
- 得到信息 打开Rosetta
更多的建议在这里(不,它不是python或TensorFlow相关,但是的,它是相关的)。