On Wed, Apr 27, 2016 at 7:48 PM, Elliot Hallmark <permafact...@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