[Numpy-discussion] matplotlib is breaking numpy
Robert Kern
robert.kern at gmail.com
Thu Nov 19 12:57:34 EST 2009
On Thu, Nov 19, 2009 at 11:52, Mathew Yeates <mat.yeates at gmail.com> wrote:
> There is definitely something wrong with matplotlib/numpy. Consider the
> following
>>from numpy import *
>>mydata=memmap('map.dat',dtype=float64,mode='w+',shape=56566500)
>> del mydata
>
> I can now remove the file map.dat with (from the command line) $rm map.dat
>
> However
> If I plot mydata before the line
>> del mydata
>
>
> I can't get rid of the file until I exit python!!
> Does matplotlib keep a reference to the data?
Almost certainly.
> How can I remove this
> reference?
Probably by deleting the plot objects that were created and close all
matplotlib windows referencing the data. If you are using IPython, you
should know that many of the returned objects are kept in Out, so you
will need to clear that. There might be some more places internal to
matplotlib, I don't know.
With some care, you can use gc.get_referrers() to find the objects
that are holding direct references to your memmap.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
More information about the NumPy-Discussion
mailing list