From dc1d1d4e8168715d4948b4e47ad4148eb7884f92 2015-11-26 23:05:44 From: Min RK Date: 2015-11-26 23:05:44 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. --- diff --git a/IPython/core/extensions.py b/IPython/core/extensions.py index f31dd83..cd1dd59 100644 --- a/IPython/core/extensions.py +++ b/IPython/core/extensions.py @@ -59,11 +59,6 @@ class ExtensionManager(Configurable): ) 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')