resolvelib: An example of resolution failure while it does have a valid resolution.
Run resolution on this requirement will result in a failure:
pandas
pystac # removing this line will resolve successfully
pystac-client
sat-stac
While it does have a valid resolution if you remove the second dep but it is in the final resolution:
pandas
pystac-client
sat-stac
Which resolves to:
pandas==1.3.5
pystac==1.8.3
pystac-client==0.6.1
sat-stac==0.4.1
It seems an issue with the backtracking process.
Original report: https://github.com/pdm-project/pdm/issues/2193
About this issue
- Original URL
- State: open
- Created 10 months ago
- Comments: 18 (14 by maintainers)
@notatallshaw Oh weird, I’ve never hit the too deep problem.
The only other context I have is:
"boto3" "dagster==1.5.5" "pandas[aws]==2.1.2" "dagster-aws>=0.21.5"fails, this uses a fully unspecified boto3 version, before I had the range for faster resolution"dagster==1.5.5" "pandas[aws]==2.1.2" "dagster-aws>=0.21.5" "boto3""dagster==1.5.5" "pandas[aws]==2.1.2" "dagster-aws>=0.21.5"passes (no boto3 specified but it’s still part of the dependency tree)I’m using
pip 23.3.1 (python 3.11). An example full resolution isActually it falls into this branch: https://github.com/sarugaku/resolvelib/blob/77b256cdfb747e86112025d75cd698861ce355a5/src/resolvelib/resolvers.py#L317-L318
Where the causes are related to
pystac, specifically, all versions ofpystachave been marked as incompatible.To fix this, we should considered a less hard fail for this case, for example, when no state is found, just pop the last pin.