使用Numpy和pypy

20

我正在使用一些NumPy工具(主要是数组),希望能够用pypy运行脚本,但是我无法运行成功。

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

我检查了core文件夹中是否有multiarray.so文件。

有没有人可以告诉我第一:我尝试做的事情是否可能,第二:我该如何做呢?


2
我在Hacker News上找到了一个(某种程度上的)解决方案。这是链接,以防有人需要:http://morepypy.blogspot.com/2011/05/numpy-in-pypy-status-and-roadmap.html - nunolourenco
5个回答

21

我刚刚发布了一篇博客文章,解释了当前的状态和计划。简而言之,NumPy将无法与PyPy的cpyext兼容,即使它可以,也会使用得太慢。


是的,有不少。请参见pypy 博客上的连续更新(下一篇)。 - fijal


10

Numpy的状态和构建说明最近已经发生了变化。现在有一个专门针对PyPy移植的Numpy版本。如果您想获取最新的说明,请查看PyPy博客中关于Numpy的最新文章。截至撰写本文时,最新的说明可以在此文章中找到,其中汇编为:

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

你可以查看这个页面来了解已经实现和未实现的内容:http://buildbot.pypy.org/numpy-status/latest.html


6

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

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

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


NumPy的支持并不来自于“CPython扩展模块API”,它是一个部分重新实现,就像@fijal在他的回答中描述的那样。 - TryPyPy
3
在pypy中称呼numpy是相当误导的。pypy中包含的代码是一个新的数组类,它试图与numpy兼容,也就是说,它是从头开始重新实现的,而且没有很多来自numpy的特性。如果你只需要一个具有快速逐项操作的数组,那很好,但在这一点上,它远远不能取代numpy。 - David Cournapeau

5

我认为C API是一样的,只是在PyPy 1.5版本中不完整。 - Sven Marnach

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