python-3.x - 无法在 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
我该如何解决这个问题?
解决方案
我猜测,由于AI Benchmark自 2019 年 12 月 18 日以来没有更新,因此该库是英特尔架构二进制文件。我不知道通过 Xcode 命令行工具安装 python 3.8 的详细信息,但我想它是一个通用二进制文件(英特尔和 Apple Arm64 架构)。我的猜测是你必须将 TensorFlow 作为英特尔二进制文件运行,所以我会在终端中尝试以下操作:在你的命令之前启动你的应用程序
arch -x86_64
或者,将终端配置为在 Rosetta2 下运行。
- 在 Finder 中右键单击终端
- 获取信息
- 与罗塞塔一起开放
这里有更多建议(不,它与 python 或 TensorFlow 无关,但是是的,它是相关的)。
推荐阅读
- vba - 对象工作表的方法范围失败
- java - 在 Spring Security 中测试会话失效
- angular - Bootstrap 4.0 隐藏元素在 ng-template 中不起作用
- python - 计算点列表之间距离的Pythonic方法
- reactjs - 通过反应隐藏多个元素中的一个元素
- android - 带有应用程序包的 Android MotionLayout 无法正常工作
- r - 如何使用 setNames() 重命名数据框的特定变量?
- delphi - 图标更改后模块'coreide140.bpl'中的访问冲突-Delphi 2010
- group-by - 如何在 power bi 中按文本分析/分组
- python - 任务栏上的 Spyder 重复