-
Notifications
You must be signed in to change notification settings - Fork 3.1k
non-downloadable/installed dependencies shouldn't fail upgrades #2502
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
Comments
issue came out of discussion in #2472 |
I feel like there are 2 possible approaches to upgrading.
I think pip largely implements Approach 2. I wonder if it would be useful to have pip support changing the strategy to Approach 1. But the fear I have is that this would make the code more complex, especially if no refactoring is done before to isolate the strategy from everything else. Maybe it's worth documenting pip's overall strategy (if it isn't already) so we can at least point people to a URL to explain why they're seeing the behavior they're seeing? |
I'm very OK with 2) so long as failing to contact or find pkg on PyPI for recursive deps is not a failure. |
@remram44: Apologies if this already came up - I'm on a phone so it's not so easy to browse around and check stuff... I wonder if it would help if you added See https://pip.pypa.io/en/latest/user_guide.html#fast-local-installs |
Ok, the 2 approaches I meant have been thoroughly documented already in the link I mentioned and in #59 |
@qwcode: I agree that not finding any downloads for a dependency shouldn't fail the whole upgrade. |
- and rely on if not applicable_versions test instead - fixes pypa#2502 - rephrase the DistributionNotFound error message to fix other tests
fixed in PR #2538 |
Does it work for every level of dependency tree or only for top level? |
you mean the PR fix? should be any level |
if some pkgb depends on pkga (i.e. has it specified in install_requires), an upgrade of pkgb shouldn't fail if a download isn't found for pkga (e.g. if it's not in PyPI), if pkga is installed locally.
to recreate, create pkga and pkgb in local directories with setup.py's like so
pkga/setup.py
pkgb/setup.py
and run
The text was updated successfully, but these errors were encountered: