Reputation: 331
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
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