我正在尝试创建一系列具有特定作业的工作线程。当前是从一个队列中取出,做一些处理,然后把输出放到第二个队列中。
当我尝试使用多处理(多进程?有什么区别?)模块时,出现以下问题
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. 我也看不到产生Processin的方法pathos。我见过的每个示例都使用pool. 例如,我还看到了一个响应,pathos.helpers.mp.process.Process但找不到模块ImportError: cannot import name helpers。这有可能吗?