I\'m doing a fair amount of parallel processing in Python using the multiprocessing module. I know certain objects CAN be pickle (thus passed as arguments in multi-p) and other
From the docs:
The following types can be pickled:
None,True, andFalse- integers, long integers, floating point numbers, complex numbers
- normal and Unicode strings
- tuples, lists, sets, and dictionaries containing only picklable objects
- functions defined at the top level of a module
- built-in functions defined at the top level of a module
- classes that are defined at the top level of a module
- instances of such classes whose
__dict__or the result of calling__getstate__()is picklable (see section The pickle protocol for details).Attempts to pickle unpicklable objects will raise the
PicklingErrorexception; when this happens, an unspecified number of bytes may have already been written to the underlying file. Trying to pickle a highly recursive data structure may exceed the maximum recursion depth, aRuntimeErrorwill be raised in this case. You can carefully raise this limit withsys.setrecursionlimit().