【问题标题】:Can I compile numpy & scipy as eggs for free on Windows32?我可以在 Windows 32 上免费将 numpy 和 scipy 编译为鸡蛋吗?
【发布时间】:2010-10-19 15:27:46
【问题描述】:

我被要求提供 Numpy 和 Scipy 作为 python 鸡蛋文件。不幸的是,Numpy 和 Scipy 没有为 Win32 平台以 .egg 形式发布他们的产品的官方版本——这意味着如果我想要鸡蛋,那么我必须自己编译它们。

目前,我的雇主提供 Visual Studio.Net 2003,它不会编译任何晚于 1.1.1 的 Numpy 版本 - 随后发布的每个版本都无法使用 VS2003 编译。

我真正想要的是其他一些我可以使用的编译器,也许是免费的,但是作为一个免费的限时试用版......我可以用它来编译鸡蛋。有没有人知道我可以在不支付任何费用的情况下获得和使用另一个编译器,并且肯定会在 Windows 上编译 Numpy?

请仅在您知道它会编译 Numpy 的情况下提出建议——不要猜测!

谢谢

注意:我在一个对法律事务非常敏感的组织工作,所以我所做的一切都必须完全合法。我必须按照许可条款做所有事情,并且会接受审计。

我的环境:

  • Windows 32
  • 标准 C Python 2.4.4

【问题讨论】:

    标签: python windows numpy scipy


    【解决方案1】:

    尝试使用MinGW32. 编译整个 Python 堆栈这是一个 GCC-Win32 开发环境,可用于构建 Python 和各种软件。您可能必须用它编译整个 Python 发行版。 Here 是使用 MinGW 编译 Python 的指南。请注意,您可能还必须提供使用 MinGW32 编译的 python 发行版。

    如果重新编译 Python 发行版不受欢迎,我相信 Python 2.4 是使用 VS2003 编译的。您可能会因为将 Scipy 和 Numpy 向后移植到 VS2003 或花钱请顾问来做这件事而受困。我会挖掘相关的邮件列表或联系维护人员并了解所需的工作量。

    另一种选择是将 Python 的版本升级到较新的版本,但您可能必须对应用程序进行回归测试并将 Visual Studio 的版本升级到 2005 或 2008。

    【讨论】:

    • 不好 - 我们使用来自 python.org 的股票 CPython。我们不能使用特殊的python。 :-(
    • 绝对没有必要构建自己的 python 来使用 mingw 构建 numpy(或任何包)。
    【解决方案2】:

    如果您只需要编译器,它是 .NET 框架的一部分。

    例如,您可以在以下位置找到 3.5 框架(用于 Visual Studio 2008):

    "C:\Windows\Microsoft.NET\Framework\v3.5"
    

    【讨论】:

    • 您无法使用 VS 2008 可靠地为 python 2.4 编译 numpy(或任何 python 扩展)。您需要使用与构建 python 本身相同的编译器,在 python 2.4 案例中是 VS 2003
    【解决方案3】:

    你可以试试GCC for Windows。 GCC 是最常用于在 Linux 上编译 Numpy/Scipy(或其他任何东西)的编译器,因此它也应该在 Windows 上工作似乎是合理的。 (不过,我自己从未尝试过)

    当然它是根据 GPL 分发的,所以不应该有任何法律障碍。

    【讨论】:

    • mingw 自带的 GCC 得到了 numpy 的支持。它实际上是我用来构建官方 Windows 安装程序的编译器。
    猜你喜欢
    • 2014-03-18
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 2011-09-02
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    • 2014-01-11
    相关资源
    最近更新 更多