0

I am trying to run a preprocessing pipeline using nipype and I get the following error message:

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

and I am not sure what exactly might be wrong in my code that leads to this or if this is an issue with my software. I am on a linux system and use python 3.6.

  • 2
    Could you post the relevant code as well? – MyNameIsCaleb Apr 28 '19 at 01:47
  • Sure. I tried different variations of fMRI preprocessing scripts but encountered the same error. I will just post one script which is basically the https://miykael.github.io/nipype_tutorial/notebooks/example_preprocessing.html script but with some changes made for my data. It is quite long though. Maybe I should post a shortened version? – PhoquePhoquePhoque Apr 28 '19 at 18:46
  • You should post a Minimum, Complete, and Verifiable snippet of your code. Basically include the parts that we need in order to replicate the problem on our own machine that way we can verify the issue and help you solve it. – MyNameIsCaleb Apr 28 '19 at 18:47
  • This is an fMRI script, so unfortunately the data is necessary to replicate this error. Maybe in that case I should look into a more fMRI specific forum? Thank you for your replies still – PhoquePhoquePhoque Apr 28 '19 at 19:03
  • I put an answer below, they wrote in a part of the function only compatible with 3.7 and after, and you are using 3.6. – MyNameIsCaleb Apr 28 '19 at 21:14
  • if my answer cleared things up for you, please mark it accepted. If not, let me know what other questions you have. – MyNameIsCaleb Apr 30 '19 at 19:52

1 Answers1

0

The module you are using has a ProcessPoolExecuter being used in it. In Python 3.7 they added some additional arguments to that class, namely initargs which is what is being called in nipype multiprocess module you are using. Unfortunately it is not backwards compatible to 3.6 and they did not write in another way to use that module.

Your options are to upgrade or not use the multiprocessing portion of nipype.

MyNameIsCaleb
  • 4,409
  • 1
  • 13
  • 31