Ipython --pylab on cygwin: TclError: no display name and no $ DISPLAY environment variable

I recently installed ipython according to the instructions: http://ardiyu07.blogspot.com/2012/04/ipython-012-installation-in-cygwin.html .

When I run 'ipython --pylab' , I get the error message below. I googled around and found messages about this error, but in a different context. Mine occurs when I start ipython with the --pylab argument. I know this has something to do with the matplotlib gui interaction, but not exactly. I appreciate the guidance.

 $ ipython --pylab Python 2.7.3 (default, Dec 18 2012, 13:50:09) Type "copyright", "credits" or "license" for more information. IPython 0.13.1 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython features. %quickref -> Quick reference. help -> Python own help system. object? -> Details about 'object', use 'object??' for extra details. Welcome to pylab, a matplotlib-based Python environment [backend: TkAgg]. For more information, type 'help(pylab)'. [TerminalIPythonApp] GUI event loop or pylab initialization failed --------------------------------------------------------------------------- TclError Traceback (most recent call last) /usr/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in enable_pylab(self, gui, import_all) 2780 # Now we must activate the gui pylab wants to use, and fix %run to take 2781 # plot updates into account -> 2782 self.enable_gui(gui) 2783 self.magics_manager.registry['ExecutionMagics'].default_runner = \ 2784 mpl_runner(self.safe_execfile) /usr/lib/python2.7/site-packages/IPython/lib/inputhook.pyc in enable_gui(gui, app) 526 e = "Invalid GUI request %r, valid ones are:%s" % (gui, guis.keys()) 527 raise ValueError(e) --> 528 return gui_hook(app) 529 /usr/lib/python2.7/site-packages/IPython/lib/inputhook.pyc in enable_tk(self, app) 322 if app is None: 323 import Tkinter --> 324 app = Tkinter.Tk() 325 app.withdraw() 326 self._apps[GUI_TK] = app /usr/lib/python2.7/lib-tk/Tkinter.pyc in __init__(self, screenName, baseName, className, useTk, sync, use) 1683 baseName = baseName + ext 1684 interactive = 0 -> 1685 self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use) 1686 if useTk: 1687 self._loadtk() TclError: no display name and no $DISPLAY environment variable 
+4
source share
1 answer

Enter startxwin into the cygwin terminal (you will need the X11 libraries available from cygwin setup.exe). Then you can run ipython --pylab from a new terminal window and a command like plot(range(10)) , which will open a new one but you will also need to call plt.draw() to display the graph, unlike the native pylab, window management for graphing in cygwin is also poor compared to native pylab.

I did not need to edit any settings files in this process, you may need to โ€œuninstall uninstall matplotlibโ€ and reinstall it until you have the necessary libraries installed through cygwin setup.exe (tkinter and I believe that the X11 libraries -devel needed).

Get setuptools via ez_setup.py

 wget http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py easy_install pip pip install numpy pip install ipython pip install matplotlib 
+1
source

All Articles