From dc1d1d4e8168715d4948b4e47ad4148eb7884f92 Mon Sep 17 00:00:00 2001 From: Min RK Date: Fri, 27 Nov 2015 00:05:44 +0100 Subject: [PATCH] remove unregister trait-change callback in ExtensionManager.__del__ Due to reference cycles, this can never be called at a time when it would matter, but seems to cause weird crashes sometimes during interpreter teardown on Python 3.5 with traitlets 4.1. --- IPython/core/extensions.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/IPython/core/extensions.py b/IPython/core/extensions.py index f31dd8326fa..cd1dd594a45 100644 --- a/IPython/core/extensions.py +++ b/IPython/core/extensions.py @@ -59,11 +59,6 @@ def __init__(self, shell=None, **kwargs): ) self.loaded = set() - def __del__(self): - self.shell.on_trait_change( - self._on_ipython_dir_changed, 'ipython_dir', remove=True - ) - @property def ipython_extension_dir(self): return os.path.join(self.shell.ipython_dir, u'extensions')