0

我正在尝试使用 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。

4

1 回答 1

0

您正在使用的模块已在ProcessPoolExecuter其中使用。在 Python 3.7 中,他们为该类添加了一些额外的参数,即您正在使用的nipype多进程模块initargs中调用的参数。不幸的是,它不向后兼容 3.6,并且他们没有以另一种方式编写来使用该模块。

您的选择是升级或不使用 nipype 的多处理部分。

于 2019-04-28T21:13:51.543 回答