Python multiprocessing库 报错Can't pickle <type 'instancemethod'>

Python 2017-05-30

报错内容:Can't pickle <type 'instancemethod'>: attribute lookup builtin.instancemethod failed

111111.jpg

如果用普通函数没有问题,用到类就报错。

import copy_reg
import types

def _pickle_method(m):
    if m.im_self is None:
        return getattr, (m.im_class, m.im_func.func_name)
    else:
        return getattr, (m.im_self, m.im_func.func_name)

copy_reg.pickle(types.MethodType, _pickle_method)

参考:https://stackoverflow.com/questions/1816958/cant-pickle-type-instancemethod-when-using-pythons-multiprocessing-pool-ma


本文由 Mosuan 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论