To be more precise, PyPy pickling of Numpy arrays works fine, it is when
PyPy pickles a Numpy scalar that I get the error.
David.

On Sat, Jul 16, 2016 at 2:04 PM, David Brochart <david.broch...@gmail.com>
wrote:

> Hi,
>
> I verified that this version of PyPy can load a Numpy array that was
> pickled by CPython (and do stuff with it), but it looks like a Numpy array
> pickled by PyPy cannot be loaded by CPython, because PyPy still uses  
> '_numpypy.multiarray'
> in the pickle string for dumping:
> ImportError: No module named _numpypy.multiarray
>
> David.
>
> On Sat, Jul 16, 2016 at 12:07 PM, Matti Picus <matti.pi...@gmail.com>
> wrote:
>
>> The issue with '_numpypy.multiarray' in the pickle string rather than
>> 'numpy.core.multiarray' should be fixed on the numpypy_pickle_compat branch
>> (thanks to Eli)
>> A linux 64 build is available
>> http://buildbot.pypy.org/nightly/numpypy_pickle_compat/pypy-c-jit-85727-6d909c810029-linux64.tar.bz2
>> .
>> Eli or David or anyone who uses numpy pickle, could you check that this
>> works as advertised? I am concerned about how compatible our pickling is
>> with upstream numpy, but do not really use that feature of numpy so another
>> pair of eyes would be nice before merging to default.
>>
>> Note this requires that http://bitbucket.org/pypy/numpy be installed
>> since the Unpickler must be able to import numpy.core.multiarray
>> Matti
>>
>> On 15/07/16 10:47, David Brochart wrote:
>>
>>> Hi,
>>>
>>> I'd like to use the (numerical) performances of PyPy as an equivalent to
>>> Numba's @jit decorator (https://github.com/davidbrochart/piopio). The
>>> only thing preventing that right now is the passing around (pickling) of
>>> Numpy arrays, so it would be great to have that compatibility.
>>>
>>> David.
>>>
>>> On Mon, Jul 11, 2016 at 6:43 PM, Eli Stevens (Gmail) <
>>> wickedg...@gmail.com <mailto:wickedg...@gmail.com>> wrote:
>>>
>>>     FWVLIW, I think that conforming to upstream numpy makes the most
>>>     sense.
>>>
>>>     I think that the issue would go away if the `_numpypy` module were
>>>     renamed to `numpy` (and appropriate things moved into `numpy.core`).
>>>     Is there a technical reason to keep the actual implementation in a
>>>     separately named module?
>>>
>>>     Thinking larger picture, would it be possible and sensible to switch
>>>     to using the slow cpyext numpy approach for compatability, then
>>>     overlay custom implementation of things on top of that when speed is
>>>     needed?  I'm imagining a vague inverse of the cpython approach, where
>>>     modules are implemented in C when the python performance isn't
>>>     acceptable.
>>>
>>>     Eli
>>>
>>>     On Wed, Jun 29, 2016 at 10:58 PM, Armin Rigo <ar...@tunes.org
>>>     <mailto:ar...@tunes.org>> wrote:
>>>     > Hi Eli, hi Matti,
>>>     >
>>>     > On 29 June 2016 at 21:37, Eli Stevens (Gmail)
>>>     <wickedg...@gmail.com <mailto:wickedg...@gmail.com>> wrote:
>>>     >> To make sure I'm understanding, are you saying that
>>>     upstream/cpython
>>>     >> numpy should pick up an alternate way to import multiarray (via
>>>     >> _numpypy.multiarray, instead of numpy.core.multiarray)
>>>     >
>>>     > Hum, in my opinion we should always pickle/unpickle arrays by
>>>     > reproducing and expecting the exact same format as CPython's numpy,
>>>     > with no warnings.  Any difference (e.g. with complicated dtypes)
>>>     is a
>>>     > bug that should eventually be fixed.
>>>     >
>>>     >
>>>     > A bientôt,
>>>     >
>>>     > Armin.
>>>     _______________________________________________
>>>     pypy-dev mailing list
>>>     pypy-dev@python.org <mailto:pypy-dev@python.org>
>>>     https://mail.python.org/mailman/listinfo/pypy-dev
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> pypy-dev mailing list
>>> pypy-dev@python.org
>>> https://mail.python.org/mailman/listinfo/pypy-dev
>>>
>>
>>
>
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to