如何在 M1 (Apple Silicon / Darwin-arm64) 上安装和导入 Scipy、Numpy、NumExpr 等?

How to install and import Scipy, Numpy, NumExpr and others on M1 (Apple Silicon / Darwin-arm64)?

我有一个 Apple 的 M1 处理器,它是一个新的 ARM64 架构,为许多数据科学 Python 包提供的二进制文件不会 运行 在上面,并且在大多数情况下编译它们失败案例。

诸如 How to install SciPy on Apple Silicon (ARM / M1) or numpy build fail in M1 Big sur 11.1 之类的问题提供了许多不同的答案,其中一些有效,而大多数则无效。然而,即使对于那些设法使模块编译的人,我也不明白如何让 pip 安装我本地编译的包而不是从 pypy 中获取它们(并且失败)。

如何在配备 M1 处理器的计算机上安装 numpyscipynumexpr 和其他依赖项?

  1. 使用 Homebrew 安装 Miniforge 以在本地编译这些模块:brew install miniforge.
  2. 使用 conda 而不是 pip 安装您需要的模块:conda install numpy(以及 scipynumexpr…)。
  3. 在您安装依赖项的环境中(具有 venvpew 或类似的全局、用户或虚拟环境),像往常一样安装,但让您的包管理器知道通过定义 PYTHONPATH 加载您之前安装的这些本机模块:在安装命令前加上 PYTHONPATH=/opt/homebrew/Caskroom/miniforge/base/pkgs/:$PYTHONPATH。例如:PYTHONPATH=/opt/homebrew/Caskroom/miniforge/base/pkgs/:$PYTHONPATH pip3 install.