【问题标题】:Using Numpy with pypy将 Numpy 与 pypy 一起使用
【发布时间】:2011-08-18 12:57:01
【问题描述】:

我正在使用一些 numpy 工具(主要是数组),我想用 pypy 运行脚本,但我无法让它工作。

我得到的错误是:ImportError: No module named multiarray.

我检查了 multiarray.so 文件是否在核心文件夹中。

谁能告诉我第一:有可能做我想做的事,第二:我该怎么做?

【问题讨论】:

标签: python numpy pypy


【解决方案1】:

我刚刚发布了blog post,解释了状态和计划。简而言之,numpy 不能与 PyPy 的 cpyext 一起使用,即使可以,使用起来也太慢了。

【讨论】:

  • 是的,不少。在 pypy 博客上查看连续更新(下一篇)
【解决方案2】:

其他答案已经很老了。

这里是the completely unscientific measure of "implemented functions" on numpypy status page

pypy 博客中关于 numpy 的一些帖子:

  1. MAY 4, 2011
  2. MAY 5, 2011
  3. APRIL 17, 2012
  4. SEPTEMBER 4, 2012
  5. NOVEMBER 1, 2012
  6. MARCH 18, 2013
  7. MAY 11, 2013
  8. DECEMBER 10, 2013

【讨论】:

    【解决方案3】:

    Numpy 状态和构建指令最近​​已更改。有一个特殊版本的 numpy 被移植到 PyPy。如果您想获得最新的说明,只需查看PyPy blog 以获取有关 Numpy 的最新文章。在撰写本文时,最新的指令位于this post,编译为:

     pip install git+https://bitbucket.org/pypy/numpy.git
    

    关于已实施和未实施的内容,您可以查看此页面:http://buildbot.pypy.org/numpy-status/latest.html

    【讨论】:

      【解决方案4】:

      以前的答案现在已经过时了 :) http://morepypy.blogspot.com/2011/08/pypy-16-kickass-panda.html

      CPython 扩展模块 API 已得到改进,现在支持更多扩展。有关受支持的信息,请参阅我们的兼容性 wiki。

      对 NumPy 的初步支持:此版本包括一个与 PyPy JIT 集成的非常快速的 NumPy 模块的预览。

      【讨论】:

      • NumPy 支持并非来自“CPython 扩展模块 API”,而是部分重新实现,就像 @fijal 在他的回答中的链接中描述的那样。
      • 调用 numpy pypy 中的内容非常具有误导性。 pypy 中包含的代码是一个新的数组类,它试图与 numpy 兼容,IOW,它是从头开始的重新实现,没有 numpy 的许多特性。如果您只需要一个具有快速逐项操作的数组,那就太好了,但目前还远不及 numpy 替换。
      【解决方案5】:

      据我所知,Numpy 从未成功移植到 PyPy,而且这样做并非易事,因为 PyPy 的 C API 与 cPython 不同。

      另请参阅 http://ademan.wordpress.com/category/code/pypy/ 了解尝试过的人的博客。

      【讨论】:

      • 我认为 C API 是一样的,只是 PyPy 1.5 还不完整。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多