1

以下代码给出了我不明白为什么的错误:

    import numpy as np
    import matplotlib.pyplot as plt
    a = np.arange(10)
    plt.plot(a)
    [<matplotlib.lines.Line2D at 0x116be8890>]
    plt.show()

    2013-01-29 10:58:18.891 Python[27257:903] *** __NSAutoreleaseNoPool(): Object 0x105b27810 of class NSCFArray autoreleased with no pool in place - just leaking
    2013-01-29 10:58:18.893 Python[27257:903] *** __NSAutoreleaseNoPool(): Object 0x105b37f60 of class __NSFastEnumerationEnumerator autoreleased with no pool in place - just leaking
    2013-01-29 10:58:18.895 Python[27257:903] *** __NSAutoreleaseNoPool(): Object 0x105bee900 of class NSObject autoreleased with no pool in place - just leaking

我有 matplotlib 1.2.0、numpy 1.6.2、python 2.7.3 和 ipython 0.13.1。这些软件包已使用 macports 安装。这是在 Mac OS 10.6.8 上执行的,而我在 10.7.5 上看不到它。

编辑:这篇文章显示了同样的错误,虽然没有明确找到解决方案

4

2 回答 2

1

我还没有找到解决办法。我的解决方法是安装另一个后端:qt4。这需要做:

    sudo port install qt4-mac
    sudo port install py27-qt4

然后通过添加修改(或创建如果没有)文件 ~/.matplotlib/matplotlibrc:

    backend : QT4Agg

然后上面的文字没有问题。

于 2013-01-31T15:52:14.553 回答
0

我也有这个问题,我的解决方法是添加:

plt.ion()

在第一个绘图命令之前。这将打开交互式绘图模式,并使错误消失。

于 2013-02-13T22:33:09.303 回答