В моем коде я пытаюсь сделать копии экземпляров класса, используя copy.deepcopy
. Проблема в том, что при некоторых обстоятельствах происходит ошибка со следующей ошибкой:
TypeError: 'object.__new__(NotImplementedType) is not safe, use NotImplementedType.__new__()'
После долгих копаний я обнаружил, что могу воспроизвести ошибку, используя следующий код:
import copy
copy.deepcopy(__builtins__)
Проблема заключается в том, что в какой-то момент он пытается скопировать встроенную NotImplementedType
. Вопрос в том, почему он это делает? Я не переопределил __deepcopy__
в моем классе, и это не происходит все время. У кого-нибудь есть советы по отслеживанию того, откуда поступил запрос на создание копии этого типа?
Я поместил некоторый отладочный код в сам модуль copy
, чтобы убедиться, что это именно то, что происходит, но точка, в которой возникает проблема, заключается в том, что до рекурсивного стека очень трудно сделать большую часть того, что я делаю ». Я вижу.