-
Notifications
You must be signed in to change notification settings - Fork 30
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
Passing a version range to -P
results in no updates
#392
Comments
Looks like there's a gap. Currently pip-compile-multi doesn't support the version, and always upgrades to the latest. You can only pass a package name. I didn't know pip-tools supports versions. |
Sure, I can have a go. From a quick look it seems like the missing piece is that Do you have a suggestion for how the input string should be parsed to extract the package name? (I guess I'm asking if there's a known util somewhere that can do that, rather than me trying to write one) |
Yeah, we need to use just the package name everywhere except when passing down the CLI options to pip-tools: |
The underlying functionality for this was already present within `pip-tool`s, however `pip-compile-multi` wasn't aware of it and thus made assumptions about the nature of the spec argument which turned out to be false. The fix here is to teach `pip-compile-multi` how to interpret these package specs to extract the names for the places it needs them while still passing the full spaces through to `pip-tools` for the actual upgrade. Fixes peterdemin#392
The underlying functionality for this was already present within `pip-tool`s, however `pip-compile-multi` wasn't aware of it and thus made assumptions about the nature of the spec argument which turned out to be false. The fix here is to teach `pip-compile-multi` how to interpret these package specs to extract the names for the places it needs them while still passing the full spaces through to `pip-tools` for the actual upgrade. Fixes peterdemin#392
It seems that passing a package range to
-P
causes itpip-compile-multi
to not upgrade the package in question at all, even when upgrades are available.This is reproducible with:
$ pip-compile-multi -P 'markupsafe<2.1.2' Locking requirements/prod.in to requirements/prod.txt. References: []
Observing that while markupsafe has plenty of versions between 2.0.1 and 2.1.2, none are upgraded to.
Am I misunderstanding how
-P
is expected to work? I had thought I'd seen this work sometimes, but now can't actually reproduce that.-P
seems to be documented to work the same as the equivalentpip-tools
option, which does accept ranges and works with them.The text was updated successfully, but these errors were encountered: