diff --git a/nipype/pipeline/engine/base.py b/nipype/pipeline/engine/base.py index 148db2f271..acd69cbffd 100644 --- a/nipype/pipeline/engine/base.py +++ b/nipype/pipeline/engine/base.py @@ -15,6 +15,8 @@ """ +from __future__ import absolute_import + from future import standard_library standard_library.install_aliases() from builtins import object diff --git a/nipype/pipeline/engine/nodes.py b/nipype/pipeline/engine/nodes.py index 531b745747..9442db1b19 100644 --- a/nipype/pipeline/engine/nodes.py +++ b/nipype/pipeline/engine/nodes.py @@ -15,6 +15,8 @@ """ +from __future__ import absolute_import + from future import standard_library standard_library.install_aliases() from builtins import range diff --git a/nipype/pipeline/engine/utils.py b/nipype/pipeline/engine/utils.py index b9e4712171..007a694ac2 100644 --- a/nipype/pipeline/engine/utils.py +++ b/nipype/pipeline/engine/utils.py @@ -5,6 +5,8 @@ """Utility routines for workflow graphs """ +from __future__ import absolute_import + from future import standard_library standard_library.install_aliases() @@ -22,6 +24,10 @@ from copy import deepcopy from glob import glob from collections import defaultdict +try: + from inspect import signature +except ImportError: + from funcsigs import signature import os import re import numpy as np @@ -115,6 +121,7 @@ def _write_inputs(node): def format_node(node, format='python', include_config=False): """Format a node in a given output syntax.""" + from .nodes import MapNode lines = [] name = node.fullname.replace('.', '_') if format == 'python': @@ -122,8 +129,9 @@ def format_node(node, format='python', include_config=False): importline = 'from %s import %s' % (klass.__module__, klass.__class__.__name__) comment = '# Node: %s' % node.fullname - spec = inspect.signature(node._interface.__init__) - args = spec.args[1:] + spec = signature(node._interface.__init__) + args = [p.name for p in spec.parameters.values()] + args = args[1:] if args: filled_args = [] for arg in args: diff --git a/nipype/pipeline/engine/workflows.py b/nipype/pipeline/engine/workflows.py index 0fce4f328b..dd73608695 100644 --- a/nipype/pipeline/engine/workflows.py +++ b/nipype/pipeline/engine/workflows.py @@ -15,6 +15,8 @@ """ +from __future__ import absolute_import + from future import standard_library standard_library.install_aliases() from builtins import range