Skip to content
This repository has been archived by the owner on Jun 21, 2022. It is now read-only.

Version conflict for uproot-methods dependence #528

Open
AndreasAlbert opened this issue Nov 30, 2020 · 3 comments
Open

Version conflict for uproot-methods dependence #528

AndreasAlbert opened this issue Nov 30, 2020 · 3 comments

Comments

@AndreasAlbert
Copy link

Hi,

since some time last week, I have been encountering a new version conflict when trying to use uproot. I am pip-installing uproot as a dependency to another package (coffea==0.6.37). The installation goes fine, but then when you try to use uproot, the following error occurs:

pkg_resources.ContextualVersionConflict: (uproot-methods 0.9.1 (/opt/hostedtoolcache/Python/3.6.12/x64/lib/python3.6/site-packages), Requirement.parse('uproot-methods<0.9.0,>=0.7.0'), {'uproot'})

"uproot 3.13.1 requires uproot-methods<0.9.0,>=0.7.0, but you'll have uproot-methods 0.9.1 which is incompatible."

So somehow pip installs uproot-methods 0.9.1, although uproot seems to require <0.9.0. I am having trouble understanding why pip would not notice this discrepancy at install time. I cannot quite reproduce this issue in a clean environment, which makes me think that this somehow subtly depends on the installation method + environment (hence the lack of a working example).

Are others encountering something similar? Any advice on how to better understand this problem would be appreciated.

Thanks

@jpivarski
Copy link
Member

@gordonwatts ran into this, too. It's because "uproot-methods<9.0" requires "awkward" and "uproot-methods>=9.0" requires "awkward0", the new name for the old library. I've been thinking about what to do with it, and here is what I was planning to do, first thing today:

  • Introduce "uproot3-methods" as part of the "awkward0" → "uproot3-methods" → "uproot3" dependency chain.
  • Yank the versions of "uproot-methods" from PyPI that aren't part of the "awkward" → "uproot-methods" → "uproot" chain, though the latest releases of these must also specify "awkward<1.0".

What you can do now is "pip uninstall uproot-methods" from your system, since it's lingering old versions that are causing the trouble.

@jpivarski
Copy link
Member

This should be fixed now: requesting

pip install uproot3

should pull in uproot3, uproot3-methods, and awkward0, none of which can be confused with old packages named uproot, uproot-methods, or awkward on your system.

The contents of the packages named uproot and awkward are about to be replaced with Uproot 4 and Awkward 1 (with appropriate version numbers) today, so maybe this wouldn't have been an issue for people who update outside of the transition period, but I don't see how it could hurt. After all, the name "uproot3-methods" should make it clear that it won't work with Uproot 4.

@AndreasAlbert
Copy link
Author

@jpivarski thanks for following up so quickly! The issue indeed seems gone now.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants