ipython crashing when trying to use the picker in matplotlib. Will try and create a small test case program when I can. Thanks
*************************************************************************** IPython post-mortem report {'commit_hash': '', 'commit_source': '(none found)', 'ipython_path': '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython', 'ipython_version': '0.11', 'os_name': 'posix', 'platform': 'Darwin-11.3.0-x86_64-i386-64bit', 'sys_executable': '/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python', 'sys_platform': 'darwin', 'sys_version': '2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) \n[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]'} *************************************************************************** *************************************************************************** Crash traceback: --------------------------------------------------------------------------- RuntimeErrorPython 2.7.2: /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python Sat May 12 12:38:53 2012 A problem occured executing Python code. Here is the sequence of function calls leading up to the error, with the most recent (innermost) call last. /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/backend_bases.pyc in button_press_event(self=FigureCanvas object 0x111ccd368 wrapping NSView 0x11f9861a0, x=273, y=577, button=1, guiEvent=None) 1617 1618 1619 def button_press_event(self, x, y, button, guiEvent=None): 1620 """ 1621 Backend derived classes should call this function on any mouse 1622 button press. x,y are the canvas coords: 0,0 is lower, left. 1623 button and key are as defined in :class:`MouseEvent`. 1624 1625 This method will be call all functions connected to the 1626 'button_press_event' with a :class:`MouseEvent` instance. 1627 1628 """ 1629 self._button = button 1630 s = 'button_press_event' 1631 mouseevent = MouseEvent(s, self, x, y, button, self._key, guiEvent=guiEvent) -> 1632 self.callbacks.process(s, mouseevent) 1633 1634 def button_release_event(self, x, y, button, guiEvent=None): 1635 """ 1636 Backend derived classes should call this function on any mouse 1637 button release. 1638 1639 *x* 1640 the canvas coordinates where 0=left 1641 1642 *y* 1643 the canvas coordinates where 0=bottom 1644 1645 *guiEvent* 1646 the native UI event that generated the mpl event 1647 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/cbook.pyc in process(self=, s='button_press_event', *args=(,), **kwargs={}) 241 continue 242 else: 243 return 244 245 def process(self, s, *args, **kwargs): 246 """ 247 process signal *s*. All of the functions registered to receive 248 callbacks on *s* will be called with *\*args* and *\*\*kwargs* 249 """ 250 if s in self.callbacks: 251 for cid, proxy in self.callbacks[s].items(): 252 # Clean out dead references 253 if proxy.inst is not None and proxy.inst() is None: 254 del self.callbacks[s][cid] 255 else: --> 256 proxy(*args, **kwargs) global _ = undefined 257 258 259 class Scheduler(threading.Thread): 260 """ 261 Base class for timeout and idle scheduling 262 """ 263 idlelock = threading.Lock() 264 id = 0 265 266 def __init__(self): 267 threading.Thread.__init__(self) 268 self.id = Scheduler.id 269 self._stopped = False 270 Scheduler.id += 1 271 self._stopevent = threading.Event() /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/cbook.pyc in __call__(self=, *args=(,), **kwargs={}) 174 Proxy for a call to the weak referenced object. Take 175 arbitrary params to pass to the callable. 176 177 Raises `ReferenceError`: When the weak reference refers to 178 a dead object 179 ''' 180 if self.inst is not None and self.inst() is None: 181 raise ReferenceError 182 elif self.inst is not None: 183 # build a new instance method with a strong reference to the instance 184 mtd = new.instancemethod(self.func, self.inst(), self.klass) 185 else: 186 # not a bound method, just return the func 187 mtd = self.func 188 # invoke the callable and return the result --> 189 return mtd(*args, **kwargs) global From = undefined global http = undefined global aspn.activestate.com = undefined global ASPN = undefined global Cookbook = undefined global Python = undefined global Recipe = undefined 190 191 def __eq__(self, other): 192 ''' 193 Compare the held function and instance with that held by 194 another proxy. 195 ''' 196 try: 197 if self.inst is None: 198 return self.func == other.func and other.inst is None 199 else: 200 return self.func == other.func and self.inst() == other.inst() 201 except Exception: 202 return False 203 204 def __ne__(self, other): /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/backend_bases.pyc in pick(self=FigureCanvas object 0x111ccd368 wrapping NSView 0x11f9861a0, mouseevent=) 1507 self._active[a] = a.get_color() 1508 elif hasattr(a,'get_edgecolor'): 1509 self._active[a] = (a.get_edgecolor(),a.get_facecolor()) 1510 else: self._active[a] = None 1511 for a in enter: 1512 if hasattr(a,'get_color'): 1513 a.set_color('red') 1514 elif hasattr(a,'get_edgecolor'): 1515 a.set_edgecolor('red') 1516 a.set_facecolor('lightblue') 1517 else: self._active[a] = None 1518 self.draw_idle() 1519 1520 def pick(self, mouseevent): 1521 if not self.widgetlock.locked(): -> 1522 self.figure.pick(mouseevent) 1523 1524 def blit(self, bbox=None): 1525 """ 1526 blit the canvas in bbox (default entire canvas) 1527 """ 1528 pass 1529 1530 def resize(self, w, h): 1531 """ 1532 set the canvas size in pixels 1533 """ 1534 pass 1535 1536 def draw_event(self, renderer): 1537 """ /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/artist.pyc in pick(self=, mouseevent=) 317 inside,prop = picker(self,mouseevent) 318 else: 319 inside,prop = self.contains(mouseevent) 320 if inside: 321 self.figure.canvas.pick_event(mouseevent, self, **prop) 322 323 # Pick children 324 for a in self.get_children(): 325 # make sure the event happened in the same axes 326 ax = getattr(a, 'axes', None) 327 if mouseevent.inaxes is None or mouseevent.inaxes==ax: 328 # we need to check if mouseevent.inaxes is None 329 # because some objects associated with an axes (eg a 330 # tick label) can be outside the bounding box of the 331 # axes and inaxes will be None --> 332 a.pick(mouseevent) global function = undefined global signature = undefined global boolean = undefined global match = undefined global artist = undefined 333 334 def set_picker(self, picker): 335 """ 336 Set the epsilon for picking used by this artist 337 338 *picker* can be one of the following: 339 340 * *None*: picking is disabled for this artist (default) 341 342 * A boolean: if *True* then picking will be enabled and the 343 artist will fire a pick event if the mouse event is over 344 the artist 345 346 * A float: if picker is a number it is interpreted as an 347 epsilon tolerance in points and the artist will fire /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axes.pyc in pick(self=, *args=(,)) 3023 """ 3024 return self.patch.contains_point(point, radius=1.0) 3025 3026 def pick(self, *args): 3027 """ 3028 call signature:: 3029 3030 pick(mouseevent) 3031 3032 each child artist will fire a pick event if mouseevent is over 3033 the artist and the artist has picker set 3034 """ 3035 if len(args)>1: 3036 raise DeprecationWarning('New pick API implemented -- ' 3037 'see API_CHANGES in the src distribution') -> 3038 martist.Artist.pick(self,args[0]) 3039 3040 def __pick(self, x, y, trans=None, among=None): 3041 """ 3042 Return the artist under point that is closest to the *x*, *y*. 3043 If *trans* is *None*, *x*, and *y* are in window coords, 3044 (0,0 = lower left). Otherwise, *trans* is a 3045 :class:`~matplotlib.transforms.Transform` that specifies the 3046 coordinate system of *x*, *y*. 3047 3048 The selection of artists from amongst which the pick function 3049 finds an artist can be narrowed using the optional keyword 3050 argument *among*. If provided, this should be either a sequence 3051 of permitted artists or a function taking an artist as its 3052 argument and returning a true value if and only if that artist 3053 can be selected. /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/artist.pyc in pick(self=, mouseevent=) 317 inside,prop = picker(self,mouseevent) 318 else: 319 inside,prop = self.contains(mouseevent) 320 if inside: 321 self.figure.canvas.pick_event(mouseevent, self, **prop) 322 323 # Pick children 324 for a in self.get_children(): 325 # make sure the event happened in the same axes 326 ax = getattr(a, 'axes', None) 327 if mouseevent.inaxes is None or mouseevent.inaxes==ax: 328 # we need to check if mouseevent.inaxes is None 329 # because some objects associated with an axes (eg a 330 # tick label) can be outside the bounding box of the 331 # axes and inaxes will be None --> 332 a.pick(mouseevent) global function = undefined global signature = undefined global boolean = undefined global match = undefined global artist = undefined 333 334 def set_picker(self, picker): 335 """ 336 Set the epsilon for picking used by this artist 337 338 *picker* can be one of the following: 339 340 * *None*: picking is disabled for this artist (default) 341 342 * A boolean: if *True* then picking will be enabled and the 343 artist will fire a pick event if the mouse event is over 344 the artist 345 346 * A float: if picker is a number it is interpreted as an 347 epsilon tolerance in points and the artist will fire /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/artist.pyc in pick(self=, mouseevent=) 304 def pick(self, mouseevent): 305 """ 306 call signature:: 307 308 pick(mouseevent) 309 310 each child artist will fire a pick event if *mouseevent* is over 311 the artist and the artist has picker set 312 """ 313 # Pick self 314 if self.pickable(): 315 picker = self.get_picker() 316 if callable(picker): 317 inside,prop = picker(self,mouseevent) 318 else: --> 319 inside,prop = self.contains(mouseevent) global A = undefined global tkstyle = undefined global set = undefined global command = undefined global kwargs = undefined global to = undefined global properties = undefined 320 if inside: 321 self.figure.canvas.pick_event(mouseevent, self, **prop) 322 323 # Pick children 324 for a in self.get_children(): 325 # make sure the event happened in the same axes 326 ax = getattr(a, 'axes', None) 327 if mouseevent.inaxes is None or mouseevent.inaxes==ax: 328 # we need to check if mouseevent.inaxes is None 329 # because some objects associated with an axes (eg a 330 # tick label) can be outside the bounding box of the 331 # axes and inaxes will be None 332 a.pick(mouseevent) 333 334 def set_picker(self, picker): /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/text.pyc in contains(self=, mouseevent=) 196 #self.set_bbox(dict(pad=0)) 197 198 def contains(self,mouseevent): 199 """Test whether the mouse event occurred in the patch. 200 201 In the case of text, a hit is true anywhere in the 202 axis-aligned bounding-box containing the text. 203 204 Returns True or False. 205 """ 206 if callable(self._contains): return self._contains(self,mouseevent) 207 208 if not self.get_visible() or self._renderer is None: 209 return False,{} 210 --> 211 l,b,w,h = self.get_window_extent().bounds global j = undefined r = undefined global n = undefined global r3 = undefined global xd = undefined global D.j = undefined 212 213 r = l+w 214 t = b+h 215 xyverts = (l,b), (l, t), (r, t), (r, b) 216 x, y = mouseevent.x, mouseevent.y 217 inside = nxutils.pnpoly(x, y, xyverts) 218 219 return inside,{} 220 221 def _get_xy_display(self): 222 'get the (possibly unit converted) transformed x, y in display coords' 223 x, y = self.get_position() 224 return self.get_transform().transform_point((x,y)) 225 226 def _get_multialignment(self): /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/text.pyc in get_window_extent(self=, renderer=None, dpi=None) 732 ''' 733 #return _unit_box 734 if not self.get_visible(): return Bbox.unit() 735 if dpi is not None: 736 dpi_orig = self.figure.dpi 737 self.figure.dpi = dpi 738 if self.get_text() == '': 739 tx, ty = self._get_xy_display() 740 return Bbox.from_bounds(tx,ty,0,0) 741 742 if renderer is not None: 743 self._renderer = renderer 744 if self._renderer is None: 745 raise RuntimeError('Cannot get window extent w/o renderer') 746 --> 747 bbox, info = self._get_layout(self._renderer) global pixels = undefined global the = undefined global lower = undefined global left = undefined global corner = undefined global of = undefined global figure = undefined 748 x, y = self.get_position() 749 x, y = self.get_transform().transform_point((x, y)) 750 bbox = bbox.translated(x, y) 751 if dpi is not None: 752 self.figure.dpi = dpi_orig 753 return bbox 754 755 def set_backgroundcolor(self, color): 756 """ 757 Set the background color of the text by updating the bbox. 758 759 .. seealso:: 760 761 :meth:`set_bbox` 762 To change the position of the bounding box. /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/text.pyc in _get_layout(self=, renderer=) 285 if isinstance(renderer, MixedModeRenderer): 286 def get_text_width_height_descent(*kl, **kwargs): 287 return RendererBase.get_text_width_height_descent(renderer._renderer, 288 *kl, **kwargs) 289 else: 290 def get_text_width_height_descent(*kl, **kwargs): 291 return RendererBase.get_text_width_height_descent(renderer, 292 *kl, **kwargs) 293 else: 294 get_text_width_height_descent = renderer.get_text_width_height_descent 295 296 # Find full vertical extent of font, 297 # including ascenders and descenders: 298 tmp, lp_h, lp_bl = get_text_width_height_descent('lp', 299 self._fontproperties, --> 300 ismath=False) 301 offsety = lp_h * self._linespacing 302 303 baseline = 0 304 for i, line in enumerate(lines): 305 clean_line, ismath = self.is_math_text(line) 306 if clean_line: 307 w, h, d = get_text_width_height_descent(clean_line, 308 self._fontproperties, 309 ismath=ismath) 310 else: 311 w, h, d = 0, 0, 0 312 313 whs[i] = w, h 314 315 # For general multiline text, we will have a fixed spacing /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.pyc in get_text_width_height_descent(self=, s='lp', prop=, ismath=False) 149 # todo: handle props 150 texmanager = self.get_texmanager() 151 fontsize = prop.get_size_in_points() 152 w, h, d = texmanager.get_text_width_height_descent(s, fontsize, 153 renderer=self) 154 return w, h, d 155 if ismath: 156 ox, oy, width, height, descent, fonts, used_characters = \ 157 self.mathtext_parser.parse(s, self.dpi, prop) 158 return width, height, descent 159 family = prop.get_family() 160 weight = prop.get_weight() 161 style = prop.get_style() 162 points = prop.get_size_in_points() 163 size = self.points_to_pixels(points) --> 164 width, height, descent = self.gc.get_text_width_height_descent(unicode(s), family, size, weight, style) global f = undefined global S = undefined global Nt = undefined global t = undefined global i = undefined global P6i = undefined global opent = undefined global indexR = undefined global splitR = undefined global intt = undefined global AssertionErrort = undefined global len = undefined global R = undefined global RX = undefined global imagefilet = undefined global linet = undefined global it = undefined global magicR = undefined global maxcolort = undefined global imagedata = undefined global ss = undefined global Library = undefined global Frameworks = undefined global Python.framework = undefined global Versions = undefined global lib = undefined global python2 = undefined global site = undefined global packages = undefined global matplotlib = global backends = undefined global backend_macosx.pyR = undefined s = 'lp' global c = undefined global C = undefined global sQ = undefined global j = undefined global x = undefined global W = undefined d = undefined global N = undefined global axesR = undefined global xaxist = undefined global panR = undefined global directionR = undefined global selectedR = undefined global backend_macosx.pyt = undefined global panx = undefined global yaxisR = undefined global pany = undefined global zoomR = undefined global zoomx = undefined global zoomy = undefined global G = undefined global s3 = undefined global k = undefined global r = undefined global Ns = undefined global Save = undefined global the = undefined global figure = undefined global choose_save_fileR = undefined global print_figure = undefined global save_figure = undefined global B = undefined global sP = undefined global e = undefined global Z = undefined global RS = undefined global NR = undefined global _init_toolbar = undefined global s5 = undefined global set_rubberbandR = undefined global eventt = undefined global x0t = undefined global y0t = undefined global x1t = undefined global y1 = undefined global draw_rubberband = undefined global remove_rubberband = undefined global release = undefined global set_cursor = undefined global cursor = undefined global sD = undefined global figsizei = undefined global topg = undefined global subplots_adjustR = undefined global toolfigR = undefined global tool = undefined global prepare_configure_subplots = undefined global utf = undefined global set_messaget = undefined global encode = undefined global __future__R = undefined global R.t = undefined global matplotlib._pylab_helpersR = undefined global matplotlib.backend_basesR = undefined global matplotlib.cbookR = undefined global matplotlib.figureR = undefined global matplotlib.pathR = undefined global matplotlib.mathtextR = undefined global matplotlib.colorsR = undefined global matplotlib.widgetsR = undefined global matplotlib.backendsR = undefined global TimerR = undefined global module = undefined global s2.V = undefined 165 return width, height, 0.0*descent 166 167 def flipy(self): 168 return False 169 170 def points_to_pixels(self, points): 171 return points/72.0 * self.dpi 172 173 def option_image_nocomposite(self): 174 return True 175 176 class GraphicsContextMac(_macosx.GraphicsContext, GraphicsContextBase): 177 """ 178 The GraphicsContext wraps a Quartz graphics context. All methods 179 are implemented at the C-level in macosx.GraphicsContext. These RuntimeError: CGContextRef is NULL *************************************************************************** History of session input:get_ipython().magic(u"run sudoku.py")pylab.ion()pylab.show()a.xaxis.set_ticks([])a=ax[0]a.xaxis.set_ticks([])ax[1].xaxis.set_ticks([])ax[2].xaxis.set_ticks([])pylab.draw()ax[0].set_xticks([])ax[0].set_yticks([])ax[1].set_yticks([])get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")ax[0].scaled()a = ax[0]ax[0].axes('scaled')ax[0].axis('scaled')get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")pylab.subplot(9981)pylab.subplot('9981')pylab.subplot('999')get_ipython().magic(u"run sudoku.py")4%33%32%33%3get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")pylab.show()get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")pylab.close('all')get_ipython().magic(u"run sudoku.py")a = ax[0]a = ax[0][0]get_ipython().magic(u"pinfo a.set_xaxis")a.set_xaxis()get_ipython().magic(u"pinfo a.set_frame_on")get_ipython().magic(u"pinfo a.frame")a.frame()get_ipython().magic(u"pinfo a.spines")a.spines.keys()a.spines['right']af = a.spines['right']af.set_linewidth(2)af.set_linewidth(23)get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")a = ax[0][0]a.set('xlim',[0,3],'ylim',[0,3])a.setp('xlim',[0,3],'ylim',[0,3])a.setp('xlim',[0,3],'ylim',[0,3])get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")a = ax[0][0]get_ipython().magic(u"pinfo a.text")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")grid[0[0] ]grid[0][0]grid[0][1]grid[0][2]y = [x for x in grid[0][2]]yy = [x for x in grid[0][3]]yy = [x for x in grid[0][5]]yget_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"pinfo pylab.text")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"pinfo pylab.text")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")grid = sudoku.reduce(grid)import sudokugrid = sudoku.reduce(grid)sudoku.show_grid(grid)pylab.show()sudoku.show_grid(grid)a = []a += 2a += [2]aa += [2]areload(sudoku)get_ipython().magic(u"run sudoku.py")txtreload(sudoku)pylab.close()pylab.close('all')get_ipython().magic(u"run sudoku.py")grid = sudoku.reduce(grid)sudoku.show_grid(grid)[t.clear() for t in txt]t.remove()[t.remove() for t in txt]get_ipython().magic(u"pinfo pylab.clear")txt[t.remove() for t in txt]tt.remove()del ttxtdel txt[0]len(txt)del txt[0]len(txt)del txt[23]pylab.draw()get_ipython().magic(u"run sudoku.py")del txt[0]pylab.draw()pylab.show()txt[0]t = txt[0]t.get_text()del tpylab.show()pylab.draw()t = txt[0]t.get_text()len(txt)del txt[0]pylab.draw()len(txt)del txt[0]len(txt)txt[0].get_text()del txt[0]pylab.show()pylab.draw()pylab.show()g = pylab.gca()gget_ipython().magic(u"pinfo g.text")g.get()get_ipython().magic(u"pinfo pylab.text")pylab.close('all')get_ipython().magic(u"run sudoku.py")txt[0].get_text()txt[0].set_text('H')del txt[0]txt[0].set_text('H')pylab.draw()txt[0].remove()pylab.draw()get_ipython().magic(u"run sudoku.py")import sudokureload(sudoku)grid = reduce(grid)grid = sudoku.reduce(grid)txt=sudoku.show_grid(grid,txt)reload(sudoku)get_ipython().magic(u"run sudoku.py")gridget_ipython().magic(u"run sudoku.py")gridget_ipython().magic(u"run sudoku.py")reload(sudoku)gridgrid=sudoku.reduce_cell(grid,0,2)gridreload(sudoku)grid=sudoku.reduce_cell(grid,0,2)grid[0][2]saa = set([1,2,3,4])aa.discard(3)aa.discard([3])a = set([1,2,3,4])b = set([1])a.discard(b)areload(sudoku)get_ipython().magic(u"run sudoku.py")reload(sudoku)reload(sudoku)get_ipython().magic(u"run sudoku.py")reload(sudoku)grid=sudoku.reduce_cell(grid,0,2)reload(sudoku)get_ipython().magic(u"run sudoku.py")grid=sudoku.reduce_cell(grid,0,2)gridget_ipython().magic(u"run sudoku.py")show_grid(grid,txt)grid = sudoku.example_grid()txt = show_grid(grid,txt)pylab.close('all')txt = sudoku.show_grid(grid)sudoku.plot_grid_background()txt = sudoku.show_grid(grid)grid = sudoku.reduce_cell(grid,0,2)txt = sudoku.show_grid(grid)reload(sudoku)grid = sudoku.reduce_cell(grid,0,2)txt = sudoku.show_grid(grid,txt)grid = sudoku.example_grid()sudoku.plot_grid_background()txt = sudoku.show_grid(grid)txt = sudoku.show_grid(grid,txt)grid = sudoku.reduce_cell(grid,0,2)txt = sudoku.show_grid(grid,txt)reload(sudoku)get_ipython().magic(u"run sudoku.py")pylab.close('all')get_ipython().magic(u"run sudoku.py")pylab.close('all')get_ipython().magic(u"run sudoku.py")pylab.close('all')get_ipython().magic(u"run sudoku.py")pylab.close('all')get_ipython().magic(u"run sudoku.py")pylab.close('all')get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")get_ipython().magic(u"run sudoku.py")pylab.close('all')get_ipython().magic(u"run sudoku.py") *** Last line of input (may not be in above history): run sudoku.py
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4