From fc15f75f8dc45302a411307896255822f408a92c Mon Sep 17 00:00:00 2001 From: Juan Nunez-Iglesias Date: Sat, 5 Oct 2013 14:27:51 +1000 Subject: [PATCH] Monkey-patch UmfpackContext __del__ By putting the failing statement in a try: except: clause, the exception is caught and the error message is silenced. See https://groups.google.com/d/msg/scikit-image/FrM5IGP6wh4/1hp-FtVZmfcJ and http://stackoverflow.com/questions/13977970/ignore-exceptions-printed-to-stderr-in-del/13977992?noredirect=1#comment28386412_13977992 --- skimage/segmentation/random_walker_segmentation.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/skimage/segmentation/random_walker_segmentation.py b/skimage/segmentation/random_walker_segmentation.py index 6ab7e1ce..e71e7f09 100644 --- a/skimage/segmentation/random_walker_segmentation.py +++ b/skimage/segmentation/random_walker_segmentation.py @@ -9,14 +9,25 @@ significantly the performance. """ import warnings +import sys +import os import numpy as np from scipy import sparse, ndimage + try: from scipy.sparse.linalg.dsolve import umfpack + old_del = umfpack.UmfpackContext.__del__ + def new_del(self): + try: + old_del(self) + except AttributeError: + pass + umfpack.UmfpackContext.__del__ = new_del UmfpackContext = umfpack.UmfpackContext() except: UmfpackContext = None + try: from pyamg import ruge_stuben_solver amg_loaded = True