2

我想在我的计算机 CPU 的四核处理器上并行执行 for 循环。出于此处考虑的原因,我正在使用 pp (Python-Parallel) - 而不是 joblib.Parallel 。

但我收到一个错误:

Traceback (most recent call last):
  File "batching.py", line 60, in cleave_out_bad_data
    job1 = job_server.submit(cleave_out, (data_dir,dirlist,), (endswithdat,))
  File "/homes/ad6813/.local/lib/python2.7/site-packages/pp.py", line 459, in submit
    sfunc = self.__dumpsfunc((func, ) + depfuncs, modules)
  File "/homes/ad6813/.local/lib/python2.7/site-packages/pp.py", line 637, in __dumpsfunc
    sources = [self.__get_source(func) for func in funcs]
  File "/homes/ad6813/.local/lib/python2.7/site-packages/pp.py", line 704, in __get_source
    sourcelines = inspect.getsourcelines(func)[0]
  File "/usr/lib/python2.7/inspect.py", line 690, in getsourcelines
    lines, lnum = findsource(object)
  File "/usr/lib/python2.7/inspect.py", line 529, in findsource
    raise IOError('source code not available')
IOError: source code not available

看起来原因是 python-2.7错误

有没有人遇到过这个并解决了?


这是我的代码:

def clean_dir(data_dir, dirlist):
  job_server = pp.Server()
  job1 = job_server.submit(clean, (data_dir,dirlist,), (endswith,))

def clean(data_dir, dirlist):
  [good_or_bad(file, data_dir) for file in dirlist if endswith(file)]
4

1 回答 1

0

here的启发,我修复类似问题的方法是将代码和函数保存在一个文件中,如“test.py”并用python调用这个文件,而不是在python shell中逐行输入函数。我为我工作。

于 2015-04-17T15:43:37.927 回答