Skip to content

neurdflib does not appear to fulfill prov dependency requirement #3055

@liamtimms

Description

@liamtimms

Summary

Hi, apologies if this is not the right place to ask however I seem to be running into an issue with a dependencies in setting up nipype. I am installing neurdflib as dependency for nipype and I can see that this includes the rdflib files in the python3.7/site-packages/rdflib directory.

ls site-packages/rdflib/

__init__.py    events.py      parser.py  resource.py    util.py
__pycache__    exceptions.py  paths.py   serializer.py  void.py
collection.py  extras         plugin.py  store.py
compare.py     graph.py       plugins    term.py
compat.py      namespace.py   query.py   tools

Actual behavior

However, when attempting to run a selectfiles node in a work flow the following crash-file is produced (as examined via !nipypecli crash command n a jupyter-lab notebook):

  File "/usr/bin/nipypecli", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3250, in <module>
    @_call_aside
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3234, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3263, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'rdflib>=4.2.1' distribution was not found and is required by prov

Expected behavior

That as neurdflib is simply a patched version of rdflib, prov would be able to use neurdflib to satisfy the dependency requirement.

How to replicate the behavior

I am unsure if this is an effect of my specific setup as detailed below. It happens consistently while having neurdflib and prov installed but was not a problem in an older installation using the same workflow.

Script/Workflow details

A simple workflow starting with selectfiles node. This code was working in an older environment.

Platform details:

python -c "import nipype; from pprint import pprint; pprint(nipype.get_info())"

{'commit_hash': '%h',
 'commit_source': 'archive substitution',
 'networkx_version': '2.3',
 'nibabel_version': '2.5.1',
 'nipype_version': '1.2.2',
 'numpy_version': '1.17.2',
 'pkg_path': '/usr/lib/python3.7/site-packages/nipype',
 'scipy_version': '1.3.1',
 'sys_executable': '/usr/bin/python',
 'sys_platform': 'linux',
 'sys_version': '3.7.4 (default, Jul 16 2019, 07:12:58) \n[GCC 9.1.0]',
 'traits_version': '5.1.2'}

jupyter-lab --version

1.1.3

Execution environment

Have not yet learned Docker, currently running linux in a virtual machine for access to neuroimaging suites.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions