On Wed, Apr 27, 2016 at 7:48 PM, Elliot Hallmark <Permafacture@gmail.com> wrote:
> Hello,
>
> I haven't worked hard yet to create a minimal runnable (reproduce-able)
> example but I wanted to check if this sounds familiar to anyone.
>
> I have a pretty involved program that resizes arrays in place with
> arr.resize. When I run it with python it completes and gives the expected
> result. When I run it in Ipython, I get the following error:
>
> ```
> ---> 43 self._buffer.resize((count,)+self._dim)
> 44
> 45
>
> ValueError: cannot resize an array that references or is referenced
> by another array in this way. Use the resize function
> ```
>
> It was consistently doing this on the same array, after resizing two others
> before hand, even after rebooting. But trying to track it down it goes away
> even if I undo everything I did to try and track it down.
> _______________________________________________>
> Does this sound familiar?
>
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> https://mail.scipy.org/mailman/listinfo/numpy-discussion
>
I'd guess the issue is that your environment (IPython or IDLE or
whatever) is keeping a reference to your array, for example so that
you can refer to earlier outputs using the underscore _. Here's how I
was able to reproduce the problem:
This is OK:
>>> import numpy as np
>>> a = np.arange(10)
>>> a.resize(3)
>>> a
array([0, 1, 2])
This gives an error:
>>> import numpy as np
>>> a = np.arange(10)
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> a.resize(3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: cannot resize an array that references or is referenced
by another array in this way. Use the resize function
Cheers,
Alex
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
https://mail.scipy.org/mailman/listinfo/numpy-discussion