Pathos多处理池CPickle错误 [英] Pathos multiprocessing pool CPickle error

查看:142
本文介绍了Pathos多处理池CPickle错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试运行以下代码时:

When i tried to run the following code:

from pathos.multiprocessing import ProcessingPool as Pool
list1 = [1,2,3,4,5]
list2 = [6,7,8,9,10]
def function1(x,y):
    print x
    print y
if __name__ == '__main__':
    pool = Pool(5)
    pool.map(function1, list1, list2)

它收到跟随翼错误:

Traceback (most recent call last):
  File "test.py", line 9, in <module>
    pool.map(function1, list1, list2)
  File "C:\Python27\lib\site-packages\pathos\multiprocessing.py", line 136, in map
    return _pool.map(star(f), zip(*args)) # chunksize
  File "C:\Python27\lib\site-packages\multiprocess\pool.py", line 251, in map
    return self.map_async(func, iterable, chunksize).get()
  File "C:\Python27\lib\site-packages\multiprocess\pool.py", line 567, in get
    raise self._value
cPickle.PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed

pathos.multiprocessing是否旨在解决此问题?

Isn't pathos.multiprocessing is designed to solve this problem?

推荐答案

我是pathos的作者.当我尝试您的代码时,不会出现错误.但是,如果您看到CPickle.PicklingError,我猜您在安装multiprocess时遇到了问题.您在Windows上,因此您有C编译器吗?您需要一个multiprocess以获得完整安装的multiprocess.

I'm the pathos author. When I try your code, I don't get an error. However, if you are seeing a CPickle.PicklingError, I'm guessing you have an issue with your install of multiprocess. You are on windows, so do you have a C compiler? You need one for multiprocess to get a full install of multiprocess.

这篇关于Pathos多处理池CPickle错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆