在Windows 10上为Python 3.7使用pip安装numpy

13

由于Python 3.7已经正式发布(2018年06月28日),我将其安装在我的Windows 10笔记本电脑上。然后,我尝试使用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\

有任何解决此安装错误的想法吗?谢谢。


4
对于那些试图在Python 3.9上安装numpy(或其他需要编译的软件包)的人:Python 3.9刚刚发布,Numpy还没有为3.9构建轮子。不要绝望,Christoph Gohlke已经为您提供了帮助,请参见这里的被接受答案。 - Martijn Pieters
使用apt安装numpy时无法安装。您可以在此链接中找到相关信息:https://dev59.com/4L3pa4cB1Zd3GeqPhJW3#64226324 - William Martens
4个回答

29
在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而言。您只需要下载wheel并自行安装即可。假设您已经下载了它,只需执行以下操作:

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

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

1
这是官方非官方的numpy安装指南! - SuperStar518

5

从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发布了支持Python 3.7的1.21.5版本

根据评论区@sam的说法,numpy 1.21.5支持Python 3.7。这个版本是在原始帖子写作时最新的numpy版本1.22.0rc1之后发布的,后者只支持Python 3.8++。

从这次经历中我们可以得到教训,最好使用<

pip install numpy<1.22.0

或者

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

编辑:2022年4月12日发布了1.21.6版本。


1
请注意,1.21.5版本也支持Python 3.7,请参见https://numpy.org/devdocs/release/1.21.5-notes.html。 - Sam Mason
@SamMason 哇,这个回答发布之后就有更新了。已经更新,谢谢。 - Muhammad Yasirroni

3
在 Windows 上安装包时,您可以在 Python 3 中输入以下命令:
py -m pip install [packagename]

         OR

py -m pip install numpy

1
截至2019年10月,这是更简单的解决方案,不需要手动选择和下载numpy包。此外,由于Python现在附带了pip,因此通过Python调用安装pip更可取。 - Koenigsberg

0

你可能缺少C编译器。如果numpy还没有提供预构建的wheel,那么你需要安装一个编译器。这个网站展示了你需要安装的编译器。对于3.7版本,我假设它仍然是14.0,所以你应该安装Visual Studio 2017的Microsoft Build Tools

如果可以的话,请告诉我。


谢谢,我回家后会尝试一下。现在在外面。另外,我在Python 3.6.6上安装numpy没有遇到任何问题。只是提供一下信息。 - pchegoor
正是因为NumPy提供了Python 3.6的wheel文件(预编译包),所以可以在没有编译器的情况下安装。 - Felix
我安装了Visual Studio Build Tools 2017(15.7.4),然后再次尝试使用pip安装numpy,但仍然遇到了与上述相同的错误。对我有用的是rayryeng的解决方案。我猜测numpy仍然没有准备好通过pip为Python 3.7安装所有所需组件。 - pchegoor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接