Skip to content
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

Make sure dependencies are up to date in travis builds #1320

Merged
merged 3 commits into from
Jul 17, 2020

Conversation

ivirshup
Copy link
Member

Travis builds are currently breaking due to incompatible versions of numpy being present, so no compatible version gets installed. This should fix that.

@ivirshup
Copy link
Member Author

ivirshup commented Jul 17, 2020

Not completely sure if this is doing what I intended. I added the -U so dependencies would be upgraded, but numpy still isn't being upgraded as shown by these warnings:

umap-learn 0.4.6 has requirement numpy>=1.17, but you'll have numpy 1.15.4 which is incompatible.
scvi 0.6.6 has requirement numpy>=1.16.2, but you'll have numpy 1.15.4 which is incompatible.

Not sure why this is happening. I'd prefer if we didn't have to manually specify the dependencies of our dependencies. Any ideas @flying-sheep?


Updating pip doesn't seem to do anything (maybe it has to do with "editable mode"?)


An easy fix is just to add a version requirement on numpy, but I really feel like dependency resolution should be dealing with that.

@ivirshup
Copy link
Member Author

Okay, this is weird. My current theory is that it's a bug in pip. It looks like if multiple packages depend on a single dependency, pip doesn't necessarily check if all requirements are satisfied. It just checks if one packages version requirements are. It seems non-deterministic which package is used to check.


I was working on an example, but then I just found this: pypa/pip#8218

There's an unstable feature for this (--unstable-feature=resolver), which does work, but I think adding a requirement for numpy is a bit more justifiable.

@ivirshup ivirshup merged commit dc884f2 into scverse:master Jul 17, 2020
@flying-sheep
Copy link
Member

flying-sheep commented Jul 20, 2020

I’m really happy that they’re finally adding a resolver.

Without officially having a resolver, it technically wasn’t a bug that incompatible stuff got installed, but instead just a missing (if very vital) feature.

grst added a commit to scverse/scirpy that referenced this pull request Mar 17, 2021
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

Successfully merging this pull request may close these issues.

2 participants