如何解决#error:在pip安装psutil过程中不支持的体系结构?

问题描述

在尝试使用pip下载软件包时遇到了一些问题。即当我跑步时

pip install "dask[complete]"
在MacOS Catalina 10.15.7上

。具体来说,引发此错误的软件包为psutil

我遇到一条#error: architecture not supported消息。我相信这是因为安装程序正在寻找MacOS 10.14.6 SDK,但我使用的是10.15.7。 this post上的一位用户表示,安装新的Python 3可解决此问题。也许是因为较新的Python随附了使用MacOS 10.15.7 SDK的程序包的缓存版本。

我猜测可能有两种解决方案:

  1. 下载psutil的非缓存版本,该版本可能与我使用的Python版本以及MacOS Catalina兼容。
  2. 下载Python 3的较新版本(即3.8.5+),并用此版本替换Xcode Python 3,使我能够了解最新的Python和软件包。

我对第二种方法保持警惕,因为在更新时会丢失任何可能的依赖关系,并且通过研究我也很清楚,一般来说,您不想弄乱系统Python的安装。 / p>

我不反对逐步解决一个解决方案(如果确实可以解决问题),但对第二个解决方案(如果有可能)再次感到非常好奇。如果两种方法都无法按预期解决,那么有没有人遇到此问题并解决了该问题,而未使用全新的,单独的Python安装?我并不是真的想弄乱虚拟环境,但是如果必须的话,我想我只是下载PyCharm并在那里重新启动。

编辑:在继续尝试解决此问题之后,我被认为是不是由psutil的过时版本引起的;可能是setup.py的过时版本吗?在这种情况下,旧的Python版本确实会带来问题吗?我对于像这样的深度配置Python还是很陌生,非常感谢您的帮助。

解决方法

请尝试设置环境变量ARCHFLAGS="-arch x86_64",以使Xcode 12不会尝试构建ARM64通用二进制文件。它为我处理了另一个具有相同错误的python包。

ARCHFLAGS="-arch x86_64" pip install "dask[complete]"

(感谢Keith Smiley's comment at on Bitbucket指出这一点。)