首页 > 解决方案 > 如何在 M1 (Apple Silicon / Darwin-arm64) 上安装和导入 Scipy、Numpy、NumExpr 等?

问题描述

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

诸如如何在 Apple Silicon (ARM / M1) 上安装 SciPyM1 Big sur 11.1 中的 numpy 构建失败等问题提供了许多不同的答案,其中一些有效,大多数无效。但是,即使对于那些设法使模块编译的人,我也不明白如何pip安装本地编译的包,而不是从 pypy 获取它们(并失败)。

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

标签: pythonnumpypipapple-m1

解决方案


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

推荐阅读