我正在尝试创建一系列具有特定作业的工作线程。当前是从一个队列中取出,做一些处理,然后把输出放到第二个队列中。
当我尝试使用多处理(多进程?有什么区别?)模块时,出现以下问题
Traceback (most recent call last):
File "C:\Python27\lib\multiprocessing\queues.py", line 264, in _feed
send(obj)
PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed
这似乎是某种 cpickle 问题。我正在处理__getattr__
被覆盖的对象,但我确实使用了
if name.startswith('__') and name.endswith('__'):
return object.__getattr__(name)
以确保TypeError
不再调用。多处理酸洗问题的答案是使用pathos
,但我看不到在pathos
. 我也看不到产生Process
in的方法pathos
。我见过的每个示例都使用pool
. 例如,我还看到了一个响应,pathos.helpers.mp.process.Process
但找不到模块ImportError: cannot import name helpers
。这有可能吗?