mailto:python-dev@python.orgHello togehter, I get an error while doing a deep copy of an "event". An event is an object, with has a lot of __dict__["attr"] = Event("SAMPLE") OTHER Events added to the object (no self refence) and store additional __dict__["attr2"] = 2 informations. deep copy is failing with no proper error message. nevent = copy.deepcopy(event); File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 174, in deepcopy y = copier(x, memo) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 305, in _deepcopy_inst state = deepcopy(state, memo) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 174, in deepcopy y = copier(x, memo) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 268, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 174, in deepcopy y = copier(x, memo) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 241, in _deepcopy_list y.append(deepcopy(a, memo)) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 174, in deepcopy y = copier(x, memo) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 241, in _deepcopy_list y.append(deepcopy(a, memo)) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 185, in deepcopy y = copier(x, memo) TypeError: __deepcopy__() takes no arguments (1 given cheers, Walter -- Walter Bender bender@physik.rwth-aachen.de RWTH Aachen III. Physikalisches Institut A Tel. +49-241-8027286
Walter Bender wrote: Hello togehter,
I get an error while doing a deep copy of an "event". An event is an object, with has a lot of __dict__["attr"] = Event("SAMPLE") OTHER Events added to the object (no self refence) and store additional __dict__["attr2"] = 2 informations.
deep copy is failing with no proper error message.
nevent = copy.deepcopy(event); File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 174, in deepcopy y = copier(x, memo) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 305, in _deepcopy_inst state = deepcopy(state, memo) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 174, in deepcopy y = copier(x, memo) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 268, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 174, in deepcopy y = copier(x, memo) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 241, in _deepcopy_list y.append(deepcopy(a, memo)) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 174, in deepcopy y = copier(x, memo) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 241, in _deepcopy_list y.append(deepcopy(a, memo)) File "/net/software_cms/slc4_ia32_gcc345/external/python/2.4.2-CMS3q/lib/python2.4/copy.py", line 185, in deepcopy y = copier(x, memo) TypeError: __deepcopy__() takes no arguments (1 given
It's possible that "event" contains an object that cannot be copied.
From the traceback, one can see that your object has an attribute that is a list of lists, and the failing object is there. Googling for the error message suggests that the object could be an array.array. The corresponding problem was corrected with python 2.4.4.
-- Amaury Forgeot d'Arc
participants (2)
-
Amaury Forgeot d'Arc
-
Walter Bender