I need to pickle object [wxpython frame object] and send it as a prameter to this function apply_async on multiproccessing pool module
could someone provide me an example how can I do it
I tried the following and get an error message :
myfile = file(r"C:\binary.dat", "w")
pickle.dump(self, myfile)
myfile.close()
self.my_pool.apply_async(fun,[i,myfile])
def fun(i,self_object):
window = pickle.load(self_oject)
wx.CallAfter(window.LogData, msg)
could someone tell me what could be the problem
If the error give some indicator below the last error message i get:
File “C:\Python26\lib\copy_reg.py”, line 70, in _reduce_ex
raise TypeError, “can’t pickle %s objects” % base.name
TypeError: can’t pickle PySwigObject objects
You can not serialize a widget for use in another process. I guess you want to change the GUI content from another process that is started by the
multiprocessingmodule. In that case, you should define a callback function in the parent process that gets called when the result of the sub-process is ready. Therefore you can use the “callback” parameter ofapply_async.Something like: