在 python 打包遇到一些问题后,我在我的 M1 Mac 上运行
platform.machine()
,期望输出是 arm64
,正如我在网上看到的那样,但结果却得到了 x86_64
,这是英特尔处理器。我只是不明白这台机器上怎么会出现这种情况,所以任何解释都会非常有帮助。
你用的是什么Python?如果您使用的是
< Python 3.9
(这很可能),那么 python 解释器是为 x86 Intel Processor
制作的,它是使用 Rosetta 2
翻译的。现在,拥有 x86
Python 解释器没有问题,实际上,最好不要使用最新版本的 Python,因为可能会出现一些错误。
如果您访问官方
python.org
网站,您可以看到有两种不同的下载:一种适用于 ARM Macbook,另一种适用于 Intel Macbook。您可能已经安装了适用于 Python 3.9.2 的英特尔下载,这就是您获得此输出的原因。
我也遇到了同样的问题,因为我将我的 Mac 从基于 Intel 的处理器迁移到 Apple Silicon (M1)。然后,我的 python 环境管理器(Conda)会为
x86_64
而不是 arm64
设置 python。
安装基于arm的包管理器确实为我解决了这个问题。