> > doesn't work neither in Python 2.7, nor 3.2 (by the way I can't use Python > > 3 for my application). > > Are you using Windows? Over here on 3.3 on Linux it does. Not on 2.7 though.
No I am using Ubuntu (12.04, 64 bit).. maybe things changed from 3.2 to 3.3? > from multiprocessing import Pool > > from functools import partial > > > > class A(object): > > def __init__(self,x): > > self.value = x > > def fun(self,x): > > return self.value**x > > > > def _getattr_proxy_partialable(instance, name, arg): > > return getattr(instance, name)(arg) > > > > def getattr_proxy(instance, name): > > """ > > A version of getattr that returns a proxy function that can > > be pickled. Only function calls will work on the proxy. > > """ > > return partial(_getattr_proxy_partialable, instance, name) > > > > l = range(100) > > p = Pool(4) > > op = p.map(getattr_proxy(A(3), "fun"), l) > > print(op) I can't try it now, I'll let you know later if it works! (Though just by reading I can't really understand what the code does). Thanks for the help, Luca -- http://mail.python.org/mailman/listinfo/python-list