Hello

I don't know why it is failing with the macports... not much help
about that from me ;)

If I make it fail on pourpuse, for example adding and unwanted int
third argument in the plot call

import matplotlib
matplotlib.use('gtk3agg')
from numpy import *
from matplotlib.pyplot import *
x = arange(0,10,0.1)
plot(x, sin(x), 0)
show()


The method FigureManagerGTK3.destroy() is being called twice, and
because it calls
self.__dict__.clear()
the second time it is called, it does not find any attribute, and that
is the reason for the UGLY message that hides the real problem. In my
example it is hiding the
ValueError: third arg must be a format string

Actually there is a comment on the line asking why is it called there...

In gtkagg there is a bunch of hasattr calls in the destroy method just
to bypass this problem

Is there any reason for the
self.__dict__.clear() ????

Federico


On Tue, Oct 1, 2013 at 9:43 AM, Michael Kaufman <kaufma...@ornl.gov> wrote:
> Hello all,
>
> I just upgraded my matplotlib and gtk distributions because I thought
> I'd try the GTK3Agg backend (I had been using the GTKAgg backend).
>
> I'm using macports for the supporting libraries with git repositories
> for ipython and matplotlib (today's master [0b8481977016e8f], but I seem
> to have the same issues with tag v1.3.x)
>
> Before installing matplotlib, I did a make clean and then removed
> everything from the build/ directory, and matplotlib* from
> python2.7/site-packages/
>
> The following ports are currently installed:
>    gtk2 @2.24.17_1+x11 (active)
>    gtk3 @3.10.0_0+x11 (active)
>    py27-gobject3 @3.8.3_0 (active)
>    py27-gobject @2.28.6_0 (active)
>
> If I use the GTKAgg backend I get these warnings (which I did not get
> before).
>
> ===
> Using matplotlib backend: GTKAgg
>
> In [1]: x = arange(0,10,0.1)
>
> In [2]: plot(x,sin(x))
> /Users/mcj/lib/python2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.8-x86_64.egg/matplotlib/backends/backend_gtk.py:651:
> Warning: Attempt to add property GtkSettings::gtk-label-select-on-focus
> after class was initialised
>    gtk.Toolbar.__init__(self)
> /Users/mcj/lib/python2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.8-x86_64.egg/matplotlib/backends/backend_gtk.py:651:
> Warning: Attempt to add property GtkSettings::gtk-button-images after
> class was initialised
>    gtk.Toolbar.__init__(self)
> Out[2]: [<matplotlib.lines.Line2D at 0x11025e250>]
> ===
>
> Otherwise everything else seems ok.
>
> If I use the GTK3Agg backend, I get no plot window when I do a show(),
> and when I attempt to exit ipython, I get these errors:
>
> ===
> object?   -> Details about 'object', use 'object??' for extra details.
> Using matplotlib backend: GTK3Agg
>
> In [1]: x = arange(0,10,0.1)
>
> In [2]: plot(x,sin(x))
> Out[2]: [<matplotlib.lines.Line2D at 0x10957d450>]
>
> In [3]: show()
>
> In [4]:
> Do you really want to exit ([y]/n)?
> Error in atexit._run_exitfuncs:
> Traceback (most recent call last):
>    File
> "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/atexit.py",
> line 24, in _run_exitfuncs
>      func(*targs, **kargs)
>    File
> "/Users/mcj/lib/python2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.8-x86_64.egg/matplotlib/_pylab_helpers.py",
> line 89, in destroy_all
>      manager.destroy()
>    File
> "/Users/mcj/lib/python2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.8-x86_64.egg/matplotlib/backends/backend_gtk3.py",
> line 433, in destroy
>      self.canvas.destroy()
> AttributeError: FigureManagerGTK3Agg instance has no attribute 'canvas'
> Error in sys.exitfunc:
> Traceback (most recent call last):
>    File
> "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/atexit.py",
> line 24, in _run_exitfuncs
>      func(*targs, **kargs)
>    File
> "/Users/mcj/lib/python2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.8-x86_64.egg/matplotlib/_pylab_helpers.py",
> line 89, in destroy_all
>      manager.destroy()
>    File
> "/Users/mcj/lib/python2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.8-x86_64.egg/matplotlib/backends/backend_gtk3.py",
> line 433, in destroy
>      self.canvas.destroy()
> AttributeError: FigureManagerGTK3Agg instance has no attribute 'canvas'
> ===
>
> Anyone have a clue?
>
> M
>
> ------------------------------------------------------------------------------
> October Webinars: Code for Performance
> Free Intel webinars can help you accelerate application performance.
> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
> the latest Intel processors and coprocessors. See abstracts and register >
> http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
> _______________________________________________
> Matplotlib-devel mailing list
> Matplotlib-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel



-- 
Y yo que culpa tengo de que ellas se crean todo lo que yo les digo?

-- Antonio Alducin --

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to