Если делаю вот так
new_cls = cls()
Попробовал несколько способов.
1. B = type('B',(cls.__class__,),copy.deepcopy(cls.__dict__))
Выдает ошибку
object.__new__(dictproxy) is not safe, use dictproxy.__new__()
2. __getstate__, __setstate__ Почему-то не сработали тоже. Т.е. они отработали аналогично new_cls = cls()
3. Добавил метод copy в свой класс. Чтобы было вот так myClass().copy()
def copy(self):
_deepcopy_dispatch[ModuleType] = lambda x, module: x
result = deepcopy(self)
del _deepcopy_dispatch[ModuleType]
return result
'Collection' object is not callable. If you meant to call the ‘__deepcopy__’ method on a ‘Collection’ object it is failing because no such method exists.