matplotlib在Windows上的Python 2.7.3中打破了str()

这里是iPython中的问题的一个例子。 这在每一个我尝试过的Python shell中都是可重现的。

In [1]: a = 1e-6 In [2]: str(a) Out[2]: '1e-06' In [3]: import matplotlib as mpl In [4]: str(a) Out[4]: '1e-06' In [5]: import matplotlib.pyplot as plt In [6]: str(a) Out[6]: '1e-06' In [7]: plt.plot(1.0) Out[7]: [<matplotlib.lines.Line2D at 0x262a850>] In [8]: str(a) Out[8]: '1e-06' In [9]: plt.show() In [10]: str(a) Out[10]: 'ERR' 

这里是相关的版本号。

 In [11]: mpl.__version__ Out[11]: '1.2.0' In [12]: import numpy as np In [13]: np.__version__ Out[13]: '1.6.2' 

这发生在运行Python 2.7.3和Microsoft Visual Express 2008 C ++和Basic的XP Professional实验室计算机上。 我不知道如何开始追踪这个问题。

Enthought用现有的方式回答了这个问题。 这不是最令人满意的解决方案,但我不能花费数天时间试图找出上述问题的根源。