Skip to content

is prov==1.5.0 (that strict) is really a requirement? #2531

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
yarikoptic opened this issue Apr 9, 2018 · 1 comment
Open

is prov==1.5.0 (that strict) is really a requirement? #2531

yarikoptic opened this issue Apr 9, 2018 · 1 comment

Comments

@yarikoptic
Copy link
Member

Summary

ATM on neurodebian 16.04 (as reported by heudiconv user):

root@220692f29c37:/# nipypecli 
Traceback (most recent call last):
  File "/usr/bin/nipypecli", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2927, in <module>
    @_call_aside
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2913, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2940, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 637, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 650, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 829, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'prov==1.5.0' distribution was not found and is required by nipype

and it is because of very strict prov requirement within nipype/info.py . Unfortunately "git log" exploration of changes done for that in 3500213 (to go from 1.4.0 to 1.5.0) and in 9915615 (to restrict to be 1.5.0) gave no information why 1.4.x isn't good enough, and why 1.5.1 would be bad.

What about

  • using nipype/info.py for specifying min compat version
  • restricting (if really needed) to a specific version in requirements.txt (for specific deployments)

which is I think a common approach AFAIK. Also would be nice to have either commit messages or some comments above those version specifications to say why that version and not any earlier.

FWIW -- in debian/control I do build-depend on python-prov but without versioned restriction. Tests seems to pass - does it mean that 1.4.0 is good enough or just that the code depending on prov isn't tested?

@effigies
Copy link
Member

effigies commented Apr 9, 2018

CI tests fail on prov >1.5.0. This hasn't been resolved.

Related: #2137, #2240, #2461

yarikoptic added a commit to yarikoptic/nipype that referenced this issue Jun 8, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants