2011-05-04 202 views
19

我正在使用一些numpy工具(主要是數組),我想用pypy運行腳本,但是我無法使它工作。與pypy一起使用numpy

,我得到的錯誤是:ImportError: No module named multiarray.

我檢查,如果multiarray.so文件是在覈心文件夾中。

有人可以告訴我,如果第一:有可能做我想做的事情,第二:我該怎麼做?

+2

我只是找到了答案(在某種程度上)到黑客新聞中的這個問題。這裏是鏈接,以防有人需要它:http://morepypy.blogspot.com/2011/05/numpy-in-pypy-status-and-roadmap。html – nunolourenco 2011-05-04 20:37:23

回答

20

我剛剛發佈了一個blog post,解釋了什麼是狀態和計劃。簡而言之,numpy不能用於PyPy的cpyext,即使這樣做,它的使用速度也會很慢。

+0

有沒有關於這方面的更新? – 2014-03-25 06:59:26

+0

是的,不少。請參閱pypy博客上的連續更新(下一篇文章) – fijal 2014-03-25 11:58:21

5

據我所知,Numpy從未成功移植到PyPy,並且這樣做並不是微不足道的,因爲PyPy的C API與cPython不同。

另請參閱http://ademan.wordpress.com/category/code/pypy/爲嘗試的人的博客。

+0

我認爲C API是相同的,它只是不完整的PyPy 1.5。 – 2011-05-04 13:34:23

6

以前的答案已經不再:) http://morepypy.blogspot.com/2011/08/pypy-16-kickass-panda.html

CPython的擴展模塊API已得到改進,現在支持更多的擴展。有關支持哪一種的信息,請參閱我們的兼容性wiki。

對NumPy的初步支持:此版本包含與PyPy JIT集成的非常快速的NumPy模塊的預覽。

+0

NumPy支持不是來自「CPython擴展模塊API」,而是部分重新實現,就像他在答案中的鏈接中描述的@fijal一樣。 – TryPyPy 2011-08-19 16:26:44

+3

調用nypy pypy中的內容頗具誤導性。包含在pypy中的代碼是一個新的數組類,它試圖與numpy,IOW兼容,它是從零開始重新實現的,沒有numpy的許多特性。如果您只需要一個快速執行每項操作的陣列,那就太好了,但在這一點上,這並不是一個無法接受的替代品。 – 2011-09-01 13:38:18

8

numpy的狀態和建立指令最近已更改。有一個移植到PyPy的特殊版本的numpy。如果你想獲得最新的說明,只需檢查PyPy blog關於Numpy的最新文章。對於寫作的最新指令的時間是this post,其編譯爲:

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

對於什麼是執行,什麼不可以,你可以檢查此頁:http://buildbot.pypy.org/numpy-status/latest.html