我正在尝试使用nipype运行预处理管道,并且收到以下错误消息:
Traceback (most recent call last):
File "preprocscript.py", line 211, in <module>
preproc.run('MultiProc', plugin_args={'n_procs': 8})
File "/sw/anaconda/3/lib/python3.6/site-packages/nipype/pipeline/engine/workflows.py", line 579, in run
runner = plugin_mod(plugin_args=plugin_args)
File "/sw/anaconda/3/lib/python3.6/site-packages/nipype/pipeline/plugins/multiproc.py", line 162, in __init__
initargs=(self._cwd,)
File "/sw/anaconda/3/lib/python3.6/multiprocessing/pool.py", line 175, in __init__
self._repopulate_pool()
File "/sw/anaconda/3/lib/python3.6/multiprocessing/pool.py", line 236, in _repopulate_pool
self._wrap_exception)
File "/sw/anaconda/3/lib/python3.6/multiprocessing/pool.py", line 250, in _repopulate_pool_static
wrap_exception)
File "/sw/anaconda/3/lib/python3.6/multiprocessing/process.py", line 73, in __init__
assert group is None, 'group argument must be None for now'
AssertionError: group argument must be None for now
,我不确定导致该错误的代码到底是什么错误,或者这是否与我的软件有关。 我在Linux系统上,使用python 3.6。
答案 0 :(得分:0)
您正在使用的模块中已使用ProcessPoolExecuter
。在Python 3.7中,他们向该类添加了一些其他参数,即initargs
,这是您正在使用的nipype多进程模块中所调用的。不幸的是,它不向后兼容3.6,并且他们没有以其他方式编写该模块的使用。
您的选择是升级还是不使用nipype的多处理部分。