Python basemap中可能存在内存泄漏

Python basemap中可能存在内存泄漏,python,memory-leaks,matplotlib-basemap,Python,Memory Leaks,Matplotlib Basemap,考虑以下Python程序: import sys from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt import numpy as np from matplotlib.backends.backend_pdf import PdfPages for i in range(1): pp=PdfPages('test.pdf') pindex=0 pages=10 ro

考虑以下Python程序:

import sys
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.backends.backend_pdf import PdfPages

for i in range(1):
    pp=PdfPages('test.pdf')
    pindex=0
    pages=10
    rows=6
    cols=3
    for p in range(pages):      # for each page
        fig=plt.figure(figsize=[8.5, 11])   # letter size
        plt.axis('off')
        for r in range(rows):       # for each row
            for c in range(cols):       # for each column
                fig.add_subplot(rows, cols, 1+c+r*cols)
                map=Basemap(projection='cyl', resolution='c')
                map.drawcoastlines(linewidth=.25)
                map.drawparallels(np.arange(-90, 90, 30), linewidth=.25)
                map.drawmeridians(np.arange(-180, 180, 30), linewidth=.25)
        pp.savefig()
        pindex=pindex+1
    pp.close()
print 'done'
sys.stdin.readline()
这个简单的程序所做的是创建一个包含10页的PDF文件,每一页都有一组地图图(6x3)。当我运行这个程序时,当程序打印“完成”时,内存使用量达到了几GB,即使实际生成的文件只是其中的一小部分。在注释掉对drawparallels和drawmeridians的调用时,内存使用率要低得多。相反,如果我将主循环的范围从1更改为5(基本上重复创建同一文件5次),那么内存使用量将达到数十GB,在我看来,这显然表明存在某种内存泄漏。是这样吗?如果是这样的话,有没有办法绕过它(除了没有子午线和平行线)


谢谢

这应该作为一个可能的bug在github上报告,而不是在stackexchange上。