【问题标题】:Installing numpy with pip on windows 10 for python 3.7在 Windows 10 for python 3.7 上使用 pip 安装 numpy
【发布时间】:2018-06-28 15:58:17
【问题描述】:

自从今天(2018 年 6 月 28 日)正式发布以来,我在我的 Windows 10 笔记本电脑上安装了 python 3.7。然后我尝试使用 pip 安装 numpy 包

pip install numpy

安装继续进行,但最终失败并出现以下错误:

        source = func(extension, build_dir)
      File "numpy\core\setup.py", line 675, in get_mathlib_info
        raise RuntimeError("Broken toolchain: cannot link a simple C program")
    RuntimeError: Broken toolchain: cannot link a simple C program

    ----------------------------------------
Command ""c:\program files\python37\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\pcheg\\AppData\\Local\\Temp\\pip-install-7wjkw5wn\\numpy\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\pcheg\AppData\Local\Temp\pip-record-uhj8233f\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\pcheg\AppData\Local\Temp\pip-install-7wjkw5wn\numpy\

关于如何克服此安装错误的任何想法?谢谢。

【问题讨论】:

  • 对于那些试图在 Python 3.9 上安装 numpy(或其他需要编译的软件包)的人:Python 3.9 刚刚推出,而 Numpy 还没有为 3.9 构建轮子。不要绝望,Christoph Gohlke 已为您提供保障,请在此处查看已接受的答案。

标签: python numpy python-3.7


【解决方案1】:

如果您没有正确的构建设置,在 Windows 上安装 NumPy 是一个常见问题。相反,我总是去Christoph Gohlke's website 下载你可以为你的电脑安装的轮子。 Christoph 慷慨地用正确的构建环境自己构建了这些库,并将其发布在他的网站上。


较新的说明 - 对于较旧的说明,请向下滚动

首先,从 PyPI 安装 pipwin,它将安装一个类似于 pip 的实用程序,但它会从他的网站下载您感兴趣的实际软件包,然后使用 pipwin install 安装您想要的软件包。

先做:

pip install pipwin

安装完成后,您可以执行以下操作:

pipwin install numpy

这将在您的系统上安装最新版本的 NumPy。这样您就不必专门搜索适用于您的特定 Python 版本的 NumPy 版本。


旧指令

转到 NumPy 部分:https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 然后下载与您的 Python 版本(2 或 3 和 32 位或 64 位)兼容的 3.7 版本。例如,文件名 numpy‑1.14.5+mkl‑cp37‑cp37m‑win_amd64.whl 用于 NumPy 1.14.5、Python 3.7 - 64 位。您可以在文件名中选择您需要哪个版本的 NumPy 以及哪个版本的 Python 解释器和位版本。

这样做永远不需要您自己构建 NumPy 或安装所需的编译器,而不是通过 PyPI 安装 NumPy。您可以下载轮子并自行安装。假设您已经下载了它,只需执行以下操作:

pip install numpy‑1.14.5+mkl‑cp37‑cp37m‑win_amd64.whl

...假设轮子在您当前所在的目录中。

【讨论】:

  • 这是官方非官方的numpy安装指南!
【解决方案2】:

从 2021 年 11 月 24 日开始,最新的 numpy 至少需要 Python 3.8

注意:这可能不是最初提出的问题,但它可能会帮助任何人来到这里。

要使用 python 3.7,可以使用的最新 numpy 是 v1.21.4。因此,要安装它,请使用:

pip install numpy==1.21.4

如果您编写的需求希望与 python 3.7 兼容,可以使用numpy<=1.21.4


编辑:2021 年 12 月 20 日,numpy 发布版本 1.21.5,支持 Python 3.7

来自@sam 的评论部分,numpy 1.21.5 支持 Python 3.7。它是在 1.22.0rc1 之后发布的(最新的 numpy 版本作为原帖的写作),只支持 Python 3.8++。

这次经验教训,还是用<比较好,

pip install numpy<1.22.0

install_requires = [
    "numpy<1.22.0", # lates version to support python 3.7
],

【讨论】:

【解决方案3】:

对于安装包时在 Python 3 中键入的 Windows:

py -m pip install [packagename]

         OR

py -m pip install numpy

【讨论】:

  • 截至 2019 年 10 月,这是一种更简单的解决方案,不需要手动选择和下载 numpy 包。此外,由于 Python 现在附带 pip,因此最好通过 Python 调用安装 pip
【解决方案4】:

您可能缺少 C 编译器。如果 numpy 还没有提供预构建的轮子,则需要安装编译器。 This 网站显示您需要安装的那个。对于 3.7,我假设它仍然是 14.0,所以你应该安装Microsoft Build Tools for Visual Studio 2017

让我知道这是否有效。

【讨论】:

  • 谢谢,我一回家就试试。现在在外面。我在 python 3.6.6 上安装 numpy 也没有任何问题。仅供参考。
  • 没错,因为numpy为python 3.6提供了wheel文件(预编译包),无需编译器即可安装。
  • 所以我安装了 Visual Studio Build Tools 2017 (15.7.4),然后再次尝试使用 pip 安装 numpy,但得到了与上面相同的错误。对我有用的是 rayryeng 的解决方案。我猜 numpy 还没有准备好通过 pip for python 3.7 安装所有需要的组件。
猜你喜欢
  • 2019-11-11
  • 2019-06-14
  • 1970-01-01
  • 2017-08-20
  • 2022-11-15
  • 1970-01-01
相关资源
最近更新 更多