Skip to content

Incompatibility with networkx>=2 and version conflict with prov dependency #2820

Closed
@tclose

Description

@tclose

Summary

As far as I can tell nipype isn't compatible with networkx>=2, as running with networkx>=2 raises a "graph change during iteration" error. So perhaps this should be reflected in the install requires of the setup.py (i.e. frozen at networkx==1.9).

However, it is complicated by the fact that another dependency, prov>=1.5.2 requires networkx>=2, and attempting to use the nipypecli with prov>=1.5.2 with networkx==1.9 raises a 'pkg_resources.ContextualVersionConflict' error (at least with Python 3.7)

Actual behavior

An error is raised

Traceback (most recent call last):
  File "/usr/local/bin/nipypecli", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3123, in <module>
    @_call_aside
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3107, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3136, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 580, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 593, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 786, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (networkx 1.9 (/usr/local/lib/python3.7/site-packages), Requirement.parse('networkx>=2.0'), {'prov'})

Expected behavior

How to replicate the behavior

Install networkx==1.9 and prov==1.5.2 and use nipypcli crash to open a crash file

Script/Workflow details

N/A

Platform details:

{'commit_hash': 'b448b6061',
 'commit_source': 'installation',
 'networkx_version': '1.9',
 'nibabel_version': '2.3.0',
 'nipype_version': '1.1.6',
 'numpy_version': '1.15.4',
 'pkg_path': '/usr/local/lib/python3.7/site-packages/nipype',
 'scipy_version': '1.1.0',
 'sys_executable': '/usr/local/opt/python/bin/python3.7',
 'sys_platform': 'darwin',
 'sys_version': '3.7.1 (default, Nov  6 2018, 18:45:35) \n'
                '[Clang 10.0.0 (clang-1000.11.45.5)]',
 'traits_version': '4.6.0'}

Execution environment

My python environment outside container

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions