【问题标题】:NumPy for Python 2.7 on 64 bit Windows [duplicate]在 64 位 Windows 上用于 Python 2.7 的 NumPy [重复]
【发布时间】:2013-01-23 14:37:53
【问题描述】:

我一直在尝试在 Windows 64 位上获取 Python 2.7 的 NumPy,但每个人都提到的页面 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 没有在我的任何设备上打开。

我还能在其他地方找到它吗?

【问题讨论】:

  • 我可以访问该页面并下载 numpy.你不能访问那个页面? www.numpy.org 有什么问题?
  • @Fredrik - 目前,Christoph Gohlke 的构建是二进制 64 位 numpy 安装程序的唯一来源。由于各种原因,www.numpy.org 不提供官方的 64 位 Windows 二进制文件。 (目前邮件列表中正在进行关于这个主题的积极讨论,不管它值多少钱。mail.scipy.org/pipermail/numpy-discussion/2013-February/…)除此之外,我也可以访问 OP 链接到的页面,所以我不确定是什么问题是……

标签: python windows numpy 64-bit


【解决方案1】:

我建议WinPython,这是一个适用于 Windows 的 Python 2.7 发行版,有 32 位和 64 位版本。

WinPython 创建者This blog post 解释了为什么通常很难找到 64 位 Windows NumPy:

根据经验丰富的开发人员的说法,Windows 64 位平台没有像样的开源(免费)Fortran 编译器。因此,仅使用免费和开源工具在这个平台上构建 NumPy 或 SciPy 是不可能的。这就是为什么这两个库没有官方的 Windows 64 位二进制文​​件的原因。唯一可用的现成安装程序是由 Christoph Gohlke 准备的(使用 Intel Fortran 编译器,又名“ifort”),这些显然是非官方的二进制文件。此外,Christoph 为 NumPy 构建了两种不同的安装程序:一种未优化,另一种使用英特尔数学内核库 (MKL) 进行了优化,因此可以提供更好的性能。 Gohlke 的 SciPy 64 位二进制包(唯一可在线免费获得的包)需要 NumPy MKL。问题在于,根据 Christoph Gohlke 的说法,MKL 许可证不允许我(或其他任何人)重新分发这些二进制文件,除非我已经购买了这样的许可证。我仍然不清楚最终用户是否也需要此许可证。希望没有。让我们假设。此外,在仔细阅读英特尔 MKL 许可条款后,我很确定我可以重新分发基于 MKL 构建的 NumPy,因为它只是运行时重新分发。所以我想我会购买一个英特尔 Fortran 编译器许可证(包括 MKL),以便能够在不久的将来重建 NumPy 和 SciPy,但同时我将重新分发由 Christoph Gohlke 构建的包。

【讨论】:

    【解决方案2】:

    我不知道在哪里可以找到它,但我想提一下,如果你有 numpy 源代码和 MSVC 编译器,自己构建其实并不难。

    Numpy 使用 python distutils 包构建,因此处理清单文件。如果您使用的是 VC9,那么您可能可以继续使用。

    我今天使用 VC10 编译器执行此操作,因此必须更改我的 distutils 包 (msvc9compiler.py) 以不处理任何清单。我只是注释掉了这些行。 然后在构建包之前,我将 env var 设置为指向我的实际编译器:

    set VS90COMNTOOLS=%VS100COMNTOOLS%
    c:\python27_64\python.exe setup.py build
    

    在构建之后,我在构建文件夹中找到了 numpy 包。

    Numpy 抱怨很多关于 ATLAS 和 BLAS 之类的东西,但最终,你会得到一个编译好的 numpy,它会成功运行测试。

    【讨论】:

    • 你会分享修改后的文件吗? $ 奖励,如果它让我不卡住
    • 对不起,我想我已经没有了。而且,我在工作中这样做了,我想我很难分享它。你真的需要自己编译吗?下载预编译版本 32/64 位)仍然更容易。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    相关资源
    最近更新 更多