You can specify a metaclass where you can check which modules are imported:
class Meta(type):
def __new__(cls, name, bases, attrs):
try:
import gtk
bases += (gtk.Window)
except ImportError:
pass
return super(Meta, cls).__new__(cls, name, bases, attrs)
class ToolWindow(common.Singleton):
__metaclass__ = Meta
...
, , , .
, __init__() ToolWindow, gtk (, , , , __init__() , - ).