lasofivec
lasofivec

Reputation: 331

Matplotlib not showing up plots (EPD compatibility problems)

I recently installed EPD 7.3-2 (the free version) on my Ubuntu 12.04 (64 bits). I have some problems when trying to use ipython, I got the following error :

ImportError: Gtk* backend requires pygtk to be installed.

SO I found this article :

https://support.enthought.com/entries/22961778-epd-for-mac-os-x-32-and-64-bit-versions

and even thought it is for Mac OSX it did worked on my Linux machine. The modifications I did was putting the backend like this :

backend      : Qt4Agg #GTKAgg
backend.qt4 : PySide

So it used to be GTKAgg. But now I have a new problem. When I try to plot with pylab a simple plot, like :

from pylab import *
plot([1,2,3])
show()

Nothing pops up... And I get the following error :

Error in atexit._run_exitfuncs: Traceback (most recent call last):
File "/home/mela/Librairies/epd_free-7.3-2-rh5-x86_64/lib/python2.7/atexit.py", line 24, in _run_exitfuncs func(*targs, **kargs) File "/home/mela/Librairies/epd_free-7.3-2-rh5-x86_64/lib/python2.7/site-packages/matplotlib/_pylab_helpers.py", line 82, in destroy_all manager.destroy() File "/home/mela/Librairies/epd_free-7.3-2-rh5-x86_64/lib/python2.7/site-packages/matplotlib/backends/backend_qt4.py", line 367, in destroy self._widgetclosed )

RuntimeError: Internal C++ object (PySide.QtGui.QMainWindow) already deleted.

Error in sys.exitfunc: Traceback (most recent call last): File "/home/mela/Librairies/epd_free-7.3-2-rh5-x86_64/lib/python2.7/atexit.py", line 24, in _run_exitfuncs func(*targs, **kargs)
File "/home/mela/Librairies/epd_free-7.3-2-rh5-x86_64/lib/python2.7/site-packages/matplotlib/_pylab_helpers.py", line 82, in destroy_all manager.destroy()
File "/home/mela/Librairies/epd_free-7.3-2-rh5-x86_64/lib/python2.7/site-packages/matplotlib/backends/backend_qt4.py", line 367, in destroy self._widgetclosed )

RuntimeError: Internal C++ object (PySide.QtGui.QMainWindow) already deleted.

And I really don't get what does it mean or what should I do. Any clue would be appreciated.

Upvotes: 0

Views: 325

Answers (1)

lasofivec
lasofivec

Reputation: 331

So I found my problem. First of all, from the problem I undestand that it tries to close a window that's already closed, so I searched why and it looks like now the displays of pyplot are supposed to close directly after so when I add pl.show(block=True). Now I have a display but also a segmentation fault.

After trying different backends it looks like TkAgg solves both problems. So no compatibility issues and I can see my plots.

PS : for changing the backend from matplotlib go to ~/.matplotlib and edit the file matplotlibrc

Upvotes: 0

Related Questions