Question regarding multiprocessing and error: Can't pickle <type 'instancemethod'>: attribute lookup __builtin__.instancemethod failed

tleeuwenburg at gmail.com tleeuwenburg at gmail.com
Tue Oct 13 22:41:37 EDT 2009


Hi all,

Thanks in advance for any suggestions. I'm getting the following:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/work/tjl/apps/lib/python2.6/threading.py", line 525, in
__bootstrap_inner
    self.run()
  File "/work/tjl/apps/lib/python2.6/threading.py", line 477, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/work/tjl/apps/lib/python2.6/multiprocessing/pool.py", line
225, in _handle_tasks
    put(task)
PicklingError: Can't pickle <type 'instancemethod'>: attribute lookup
__builtin__.instancemethod failed


The code block which calls this is:


    def processGrids(self, grids):
        '''
        Get each grid within the time range and initiate processing
for each grid
        '''

        numberOfGrids = float(len(grids))


        import multiprocessing, functools
        pool = multiprocessing.Pool(processes=2)

        pool.map(self.processSingleGrid, [(grid, index, grids) for
index, grid in enumerate(grids)])




More information about the Python-list mailing list