On 12/29/11 9:55 AM, lars van gemerden wrote:
Hello,
Can someone help me with the following:
I am using metaclasses to make classes and these classes to make
instances. Now I want to use multiprocessing, which needs to pickle
these instances.
Pickle cannot find the class definitions of the instances. I am trying
to add a line to the __new__ of the metaclass to add the new class
under the right name in the right module/place, so pickle can find
it.
Is this the right approach? Can anyone explain to me where/how to add
these classes for pickle to find and maybe why?
Can you post some code (preferably pared down to a minimal example that fails)?
I'm not really clear on what you are doing. I would expect that a class defined
by a class statement would usually work fine unless if the metaclass is doing
something particularly weird to it.
In any case, you can probably just explicitly register a reduction function for
each type using copy_reg.pickle():
http://docs.python.org/library/copy_reg
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
--
http://mail.python.org/mailman/listinfo/python-list