2011-05-04 21 views
19

Estoy usando algunas herramientas numpy (principalmente matrices) y quería ejecutar el script con pypy, pero no puedo hacerlo funcionar.Usando Numpy con pypy

El error que me sale es: ImportError: No module named multiarray.

he comprobado si el archivo multiarray.so estaba en la carpeta principal.

¿Puede alguien decirme si primero: es posible hacer lo que estoy tratando de hacer y segundo: ¿Cómo puedo hacerlo?

+2

que acaba de encontrar una respuesta (más o menos) a este problema en Hacker News. Aquí está el enlace, en caso de que alguien lo necesite: http://morepypy.blogspot.com/2011/05/numpy-in-pypy-status-and-roadmap.html – nunolourenco

Respuesta

20

Acabo de publicar blog post explicando cuál es el estado y cuál es el plan. En pocas palabras numpy no funcionará con PyPy cpyext e incluso si lo hace, sería demasiado lento para su uso.

respuestas
+0

¿Hay alguna actualización con respecto a esto? –

+0

sí, bastantes. ver actualizaciones consecutivas en el blog PyPy (próximo post) – fijal

5

Hasta donde yo sé, Numpy nunca se ha portado con éxito a PyPy, y no es trivial hacerlo ya que la API de C para PyPy es diferente de la de cPython.

Véase también http://ademan.wordpress.com/category/code/pypy/ para el blog de alguien que lo intentó.

+0

creo que la API C es la misma, no se trata sólo completa a partir de PyPy 1.5. –

6

anteriores ahora son obsoletas :) http://morepypy.blogspot.com/2011/08/pypy-16-kickass-panda.html

La API de módulo de extensión CPython se ha mejorado y ahora es compatible con muchos más extensiones. Para obtener información sobre cuál es compatible, consulte nuestra wiki de compatibilidad.

Soporte preliminar para NumPy: esta versión incluye una vista previa de un módulo NumPy muy rápido integrado con PyPy JIT.

+0

El apoyo NumPy no viene de la "CPython módulo de extensión de la API", que es una re-implementación parcial al igual que @fijal se describe en el enlace en su respuesta. – TryPyPy

+3

numpy Calling lo que está en PyPy es bastante engañoso. El código incluido en PyPy es una nueva clase matriz que trata de ser compatible con numpy, OIA, es una reimplementación de cero, sin muchas características de numpy. Si todo lo que necesita es una matriz con rápida operación por elemento, que es grande, pero eso es muy lejos de un reemplazo numpy en este punto. –

8

estado Numpy y construir la instrucción se ha cambiado recientemente. Hay una versión especial de numpy que está portada a PyPy. Si desea obtener la última instrucción, simplemente marque PyPy blog para obtener el último artículo sobre Numpy. Para el momento de escribir la última instrucción están en this post, que compila a:

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

para lo que se ha implementado y lo que no se puede comprobar esta página: http://buildbot.pypy.org/numpy-status/latest.html