Группа утверждения не
Я пытаюсь запустить конвейер предварительной обработки, используя 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.
1 ответ
Модуль, который вы используете, имеет ProcessPoolExecuter
используется в нем. В Python 3.7 они добавили несколько дополнительных аргументов в этот класс, а именно initargs
это то, что вызывается в используемом вами многопроцессном модуле nipype. К сожалению, он не имеет обратной совместимости с 3.6, и они не писали другим способом, чтобы использовать этот модуль.
Вы можете обновить или не использовать многопроцессорную часть nipype.