Pip 正在尝试构建 numpy 而不是在 M1 Mac 上使用预构建的版本

时间:2021-02-20 19:27:49

标签: python macos numpy apple-m1

我有一台 M1 mac,我试图做一些解决方法来从构建中安装 numpy。我无法进行任何工作,但现在我正在尝试在使用 Rosetta 运行终端时进行“标准安装”。

当我这样做时,输出如下

MacBook-Pro ~ pip install numpy                
Collecting numpy
  Using cached numpy-1.20.1.zip (7.8 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Building wheels for collected packages: numpy
  Building wheel for numpy (PEP 517) ... error

在这之后是一堆最终无法构建的输出。我不希望它尝试构建,但希望它采用准备好的预构建安装。我确定我在某处做了一些配置导致了这个问题,但有什么办法可以撤销它吗?

另一件我不太明白的事情是我已经破坏了 pip 缓存,所以我什至不知道它从哪里获得这个“缓存的 numpy”

我知道我使用的是正确的架构

MacBook-Pro ~ uname -m                              
x86_64

更新 还尝试运行以强制仅使用以下二进制文件,但仍然没有运气

MacBook-Pro ~/Downloads pip install numpy --only-binary=:
all:
ERROR: Could not find a version that satisfies the requirement numpy
ERROR: No matching distribution found for numpy

添加版本信息仅供参考

MacBook-Pro  ~  python --version                1 ↵  py3
Python 3.9.1
MacBook-Pro  ~  pip --version                     ✔  py3
pip 21.0.1 from /Users/<>/py3/lib/python3.9/site-packages/pip (python 3.9)

我还会注意到我使用的是 venv 并且我的 python 安装是使用本机 ARM 自制软件版本安装的

3 个答案:

答案 0 :(得分:2)

它正在查找您缓存的源 numpy 包(而不是二进制轮)。

您可以:

  1. 从缓存中删除它。 或
  2. 使用 --only-binary 显式安装,这将强制 pip 下载二进制轮。

答案 1 :(得分:0)

我不会将此称为 THE 答案,但我已经开始工作的答案是 Anaconda Navigator

它有一个可视化安装程序,可在 M1 mac 上开箱即用。此外,当我使用导航器在 ipython 激活的情况下启动终端时,给出的命令有效,结果环境 numpypandas 工作。

仍在寻找合适的原生 M1 解决方案

答案 2 :(得分:0)

这让我在 M1 上使用了 python 3.92 virtualenv 中的 pip:

pip install --no-binary :all: --no-use-pep517 numpy

它避免了 pep517 有问题的构建