Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
Closed
Milestone
Description
This is reproducible on any headless environment using matplotlib 1.5.1. On my system, the following script:
frommatplotlibimportpyplotaspltplt.plot([1,2], [1,2])
Will produce the following traceback:
---------------------------------------------------------------------------TclError Traceback (most recent call last)<ipython-input-2-8dd816f9ddc7> in <module>()----> 1 plt.plot([1, 2], [1, 2])/home/goldbaum/.virtualenvs/yt-dev/local/lib/python2.7/site-packages/matplotlib/pyplot.pyc in plot(*args, **kwargs) 3145 @_autogen_docstring(Axes.plot) 3146 def plot(*args, **kwargs):-> 3147 ax = gca() 3148 # allow callers to override the hold state by passing hold=True|False 3149 washold = ax.ishold()/home/goldbaum/.virtualenvs/yt-dev/local/lib/python2.7/site-packages/matplotlib/pyplot.pyc in gca(**kwargs) 926 matplotlib.figure.Figure.gca : The figure's gca method. 927 """--> 928 return gcf().gca(**kwargs) 929 930 # More ways of creating axes:/home/goldbaum/.virtualenvs/yt-dev/local/lib/python2.7/site-packages/matplotlib/pyplot.pyc in gcf() 576 return figManager.canvas.figure 577 else:--> 578 return figure() 579 580/home/goldbaum/.virtualenvs/yt-dev/local/lib/python2.7/site-packages/matplotlib/pyplot.pyc in figure(num, figsize, dpi, facecolor, edgecolor, frameon, FigureClass, **kwargs) 525 frameon=frameon, 526 FigureClass=FigureClass,--> 527 **kwargs) 528 529 if figLabel:/home/goldbaum/.virtualenvs/yt-dev/local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.pyc in new_figure_manager(num, *args, **kwargs) 82 FigureClass = kwargs.pop('FigureClass', Figure) 83 figure = FigureClass(*args, **kwargs)---> 84 return new_figure_manager_given_figure(num, figure) 85 86/home/goldbaum/.virtualenvs/yt-dev/local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.pyc in new_figure_manager_given_figure(num, figure) 90 """ 91 _focus = windowing.FocusManager()---> 92 window = Tk.Tk() 93 window.withdraw() 94/usr/lib/python2.7/lib-tk/Tkinter.pyc in __init__(self, screenName, baseName, className, useTk, sync, use) 1765 baseName = baseName + ext 1766 interactive = 0-> 1767 self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use) 1768 if useTk: 1769 self._loadtk()TclError: no display name and no $DISPLAY environment variable
I think it would be much nicer if backends somehow detected these sorts of errors, fell back to the Agg backend (probably with a warning) and then goes ahead and makes the plot.
Metadata
Metadata
Assignees
Labels
No labels